有没有办法检查一个函数是否已从 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,上述方法会更简单。