【问题标题】:Elixir check if a function has been called from a ExUnit test?Elixir 检查是否从 ExUnit 测试中调用了一个函数?
【发布时间】:2013-11-04 23:45:36
【问题描述】:

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

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

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

【问题讨论】:

    标签: function io erlang stdout elixir


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-09-15
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      相关资源
      最近更新 更多