在elixir单元测试中导入测试代码

时间:2015-06-04 19:26:11

标签: elixir mix

我正在编写与SSH交互的一些Elixir代码的测试。在我的测试中,我想启动一个SSH服务器,我可以运行我的代码。我更喜欢将此代码存储在测试目录中的自己的文件中,并通过各种不同的测试导入它。

我虽然无法让这个工作得太好。

我尝试创建一个包含test/ssh_server.ex模块的SSHServer文件,但是当我将import SSHServer添加到我的测试中时,我得到了:

  

(CompileError)test / end_to_end_test.exs:13:模块SSHServer未加载且无法找到

我错过了什么吗?有没有办法强制mix test导入我的test / ssh_server.ex文件?

2 个答案:

答案 0 :(得分:13)

我目前通过手动加载test_helper.exs文件中的代码解决了这个问题:

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

答案 1 :(得分:2)

编译模块,然后它就可用了。

这可以在iex

中完成
iex > c "test/ssh_server.ex"

或使用elixirc

elixirc "test/ssh_server.ex"

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