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

Importing test code in elixir unit test

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

虽然我没能很好地使用它。

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

(CompileError) test/end_to_end_test.exs:13: module SSHServer is not loaded and could not be found

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

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

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

编译模块,即可使用

这可以在任一 iex 中完成

iex > c "test/ssh_server.ex"

或使用 elixirc

elixirc "test/ssh_server.ex"

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