是否有办法检查是否已从ExUnit测试用例中调用了函数?我有一个调用IO.puts的函数,我想测试并验证是否有东西通过测试用例输出到STDOUT。
我看到了:http://erlang.org/pipermail/erlang-questions/2005-July/016259.html。但我希望使用ExUnit可以有一种更简单的方法。
是否可以检查我的函数是否调用IO.puts?或者至少检查一下是否已将某些内容发送到STDOUT?
如果您只想通过测试用例来测试STDOUT,我认为可以使用CaptureIO。以下是规格和示例代码。
https://hexdocs.pm/ex_unit/master/ExUnit.CaptureIO.html
您可以使用一些模拟库来模拟方法调用,但是对于STDOUT,上述方法会更简单。