Pregunta Importación de código de prueba en prueba de unidad elixir


Estoy escribiendo pruebas de algún código de Elixir que interactúa con SSH. En mis pruebas, me gustaría iniciar un servidor SSH con el que pueda ejecutar mi código. Prefiero guardar este código en su propio archivo en el directorio de prueba y hacer que se importe mediante varias pruebas diferentes.

Sin embargo, no he podido hacer que esto funcione demasiado bien.

Intenté crear un test/ssh_server.ex archivo que contiene una SSHServer módulo, pero cuando agrego import SSHServer para mis pruebas, obtengo:

(CompileError) test / end_to_end_test.exs: 13: el módulo SSHServer no está cargado y no se pudo encontrar

¿Me estoy perdiendo de algo? ¿Hay alguna manera de forzar mix test para importar mi archivo de prueba / ssh_server.ex?


13
2018-06-04 19:26


origen


Respuestas:


Actualmente he solucionado esto cargando manualmente el código de mi test_helper.exs archivo:

Code.load_file("test/ssh_server.ex")

13
2018-06-04 19:37



Compila el módulo, entonces estará disponible.

Esto puede hacerse en iex

iex > c "test/ssh_server.ex"

o con elixirc

elixirc "test/ssh_server.ex"

http://elixir-lang.org/getting-started/modules.html#compilation


2
2017-07-06 04:22