2015-04-16 27 views
47

Jestem całkiem nowa w Elixir, ale dobrze się z tym bawię!Podróbka podczas testów

Pochodzę ze świata Ruby, więc zacznij wyglądać analogię. I istnieje narzędzie do debugowania pry. Korzystanie z binding.pry Mogę przerwać każdą sesję. Znalazłem coś podobnego w Elixir - IEx.pry. Ale to nie działa, gdy testuję coś przez ExUnit.

Pytanie - czy można przerwać sesję testową i uruchomić system iex z bieżącym środowiskiem?

Odpowiedz

56

Musisz rozpocząć testy w sesji iex - możesz to zrobić, uruchamiając iex -S mix test. Następnie można użyć IEx.pry wewnątrz testu:

require IEx 

test "the truth" do 
    one = 1 
    IEx.pry 
    assert one + one == 2 
end 

Zostaniesz zapytany, czy chcesz zezwolić na podpatrywanie do sesji:

Request to pry #PID<0.143.0> at test/test_app_test.exs:7. Allow? [Yn] 

i cały kontekst w tym punkcie będzie dostępny dla Ciebie :

pry(1)> one 
1 
37

nie mam wystarczającej reputacji uwag, ale dodać do odpowiedzi Pawła ..

Jeśli uruchomisz testy z opcją --trace, możesz uniknąć przekroczenia limitu czasu testu.

iex -S mix test --trace

+1

Hah, teraz Ty: P – mraaroncruz

Powiązane problemy