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

问题描述 投票:2回答:1

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

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

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

function io erlang stdout elixir
1个回答
3
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.