Elixir检查是否已从ExUnit测试调用函数?

时间:2013-10-25 18:22:49

标签: function io erlang stdout elixir

有没有办法检查是否已从ExUnit测试用例调用函数?我有一个调用IO.puts的函数,我想测试并验证是否有东西通过测试用例输出到STDOUT。

我看到了这个:http://erlang.org/pipermail/erlang-questions/2005-July/016259.html。但我希望有一种更简单的方法可以用ExUnit来做到这一点。

有没有办法检查我的函数是否调用IO.puts?或者至少检查并查看某些内容是否已发送到STDOUT?

1 个答案:

答案 0 :(得分:3)

如果您只想通过测试用例测试STDOUT,我认为可以使用CaptureIO。 以下是规范和示例代码。

http://elixir-lang.org/docs/stable/ExUnit.CaptureIO.html

你可以使用一些模拟库来模拟方法调用,但是对于STDOUT,上面的方法会更简单。