15

我正在编写一些与 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 文件?

4

2 回答 2

17

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

Code.load_file("test/ssh_server.ex")
于 2015-06-04T19:37:33.660 回答
2

编译模块,然后它将可用。

这可以在任一 iex 中完成

iex > c "test/ssh_server.ex"

或与长生不老药

elixirc "test/ssh_server.ex"

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

于 2015-07-06T04:22:33.523 回答