Je suis plutôt nouveau dans Elixir, mais amusez-vous bien avec ça!
Je viens du monde Ruby, alors commencez à chercher l’analogie. Et il existe un outil de débogage pry
. En utilisant binding.pry
je peux interrompre n’importe quelle session. J’ai trouvé quelque chose de similaire dans Elixir – IEx.pry
. Mais cela ne fonctionne pas lorsque je teste quelque chose via ExUnit
.
Question – Est-il possible d’interrompre la session de test et d’exécuter iex avec l’environnement actuel?
Vous devez commencer vos tests dans une session iex – vous pouvez le faire en exécutant le iex -S mix test
. Ensuite, vous pouvez utiliser IEx.pry
dans votre test:
require IEx test "the truth" do one = 1 IEx.pry assert one + one == 2 end
On vous demandera si vous souhaitez autoriser l’access à la session:
Request to pry #PID<0.143.0> at test/test_app_test.exs:7. Allow? [Yn]
Et tout le contexte à ce stade sera à votre disposition:
pry(1)> one 1
Je n’ai pas assez de réputation pour commenter, mais pour append à la réponse de Pawel ..
Si vous exécutez les tests avec –trace, vous pouvez éviter le dépassement du délai de test.
iex -S mix test --trace