1
我正在返回puts
与返回值来控制台nil
如何测试RSpec的测试在命令行输出
问题测试的是,我现在越来越puts
输出出来,每当我跑使用RSpec测试。
您将如何测试此输出并确保在测试控制台中没有显示输出?
我正在返回puts
与返回值来控制台nil
如何测试RSpec的测试在命令行输出
问题测试的是,我现在越来越puts
输出出来,每当我跑使用RSpec测试。
您将如何测试此输出并确保在测试控制台中没有显示输出?
一种方法是重构代码,以便将IO对象作为输入并通过调用puts
来输出它的输出。在正常使用中,使用$ stdout但在测试中使用StringIO对象。
如果这样做不可行,那么可以考虑在你的测试中定义一个特殊的put方法在被测试的类中。这将隐藏真正的put方法。
重构代码是最好的选择。 – Hauleth
请发表编码。 –
[测试输出到RSpec命令行]可能重复(http://stackoverflow.com/questions/11349270/test-output-to-command-line-with-rspec) – Stefan