Подтвердить что ты не робот

Привлекать при тестировании

Я новичок в Elixir, но мне очень понравилось!

Я пришел из мира Ruby, поэтому начните искать аналогию. И существует инструмент отладки pry. Используя binding.pry, я могу прервать любой сеанс. Я нашел нечто подобное в Эликсире - IEx.pry. Но это не работает, когда я тестирую что-то через ExUnit.

Вопрос - можно ли прерывать тестовый сеанс и запускать iex с текущей средой?

4b9b3361

Ответ 1

Вам нужно запустить тесты внутри сеанса 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

Ответ 2

добавить в Pawel ответ..

Если вы запускаете тесты с --trace, вы можете избежать тайм-аута теста.

iex -S mix test --trace