我是 Elixir 的新手,但玩得很开心!
我来自 Ruby 世界,所以开始寻找类比。并且存在调试工具pry
。使用binding.pry
I 可以中断任何会话。我在 Elixir 中发现了类似的东西 - IEx.pry
。但是当我通过ExUnit
.
问题 – 是否可以中断测试会话并在当前环境下运行 iex?
我是 Elixir 的新手,但玩得很开心!
我来自 Ruby 世界,所以开始寻找类比。并且存在调试工具pry
。使用binding.pry
I 可以中断任何会话。我在 Elixir 中发现了类似的东西 - IEx.pry
。但是当我通过ExUnit
.
问题 – 是否可以中断测试会话并在当前环境下运行 iex?
您需要在 iex 会话中开始测试 - 您可以通过运行iex -S mix test
. 然后你可以IEx.pry
在你的测试中使用:
require IEx
test "the truth" do
one = 1
IEx.pry
assert one + one == 2
end
系统会询问您是否允许窥探会话:
Request to pry #PID<0.143.0> at test/test_app_test.exs:7. Allow? [Yn]
那时您可以使用所有上下文:
pry(1)> one
1
添加到 Pawel 的答案..
如果您使用 --trace 运行测试,您可以避免测试超时。
iex -S mix test --trace