3

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

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

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

4

1 回答 1

3

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

https://hexdocs.pm/ex_unit/master/ExUnit.CaptureIO.html

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

于 2013-10-26T13:49:32.793 回答