webapp를 IEx로 디버깅 할 수 있지만 테스트 내에 중단 점을 설정할 수 있습니까?IEx로 phoenix 테스트 디버그
예를 들어 다음 테스트에서 conn 내부에있는 내용을 확인하거나 다른 변수 나 매크로를 확인하고 싶습니다.
Cannot pry #PID<0.406.0> at ... Is an IEx shell running?
webapp를 IEx로 디버깅 할 수 있지만 테스트 내에 중단 점을 설정할 수 있습니까?IEx로 phoenix 테스트 디버그
예를 들어 다음 테스트에서 conn 내부에있는 내용을 확인하거나 다른 변수 나 매크로를 확인하고 싶습니다.
Cannot pry #PID<0.406.0> at ... Is an IEx shell running?
iex -S mix phoenix.server
으로하지만,이 경우 실행이 phoenix.server이 있어야 웹 애플리케이션과 함께 작동하도록하기 위해
defmodule HelloWeb.PageControllerTest do
use HelloWeb.ConnCase
require IEx
test "GET /", %{conn: conn} do
IEx.pry
conn = get conn, "/"
assert html_response(conn, 200) =~ "Welcome to Phoenix!"
end
end
은 테스트하지 웹 애플리케이션이다
conn 구조체 (또는 다른 변수) 내부에있는 내용을 확인하려면 IO.inspect conn
을 사용하고 평소와 같이 mix test
과 같이 테스트를 수행하면됩니다. 여기서는 신경 쓸 필요가 없습니다. 예를 들어 :
defmodule HelloWeb.PageControllerTest do
use HelloWeb.ConnCase
test "GET /", %{conn: conn} do
IO.inspect conn
conn = get conn, "/"
assert html_response(conn, 200) =~ "Welcome to Phoenix!"
end
end
그러나, 당신이 정말로 쉘을 필요로하는 경우에는 다음과 같이 호출 할 수 있습니다
iex -S mix test
ExUnit 테스트는 해석 코드가 작성된 의미 .exs 파일에 있습니다. 따라서 브레이크 포인트를 설정할 수 없습니다.
.exs 및 .ex 파일에 대한 자세한 내용. 당신은 단순히
IO.inspect conn
를 작성하고 간단한 변수에 대해 당신이 쓸 수있는지도를 확인하려면 Elixir: When to use .ex and when .exs files
를 참조
IO.puts variable_name