如何在命令行中测试RSpec测试输出

时间:2013-08-28 15:15:43

标签: ruby rspec

我正在运行将puts返回到控制台的测试,返回值为nil

问题是,每当我使用RSpec运行测试时,我现在都会收到puts输出。

您将如何测试此输出并确保测试控制台中没有输出?

1 个答案:

答案 0 :(得分:2)

一种方法是重构代码,使其将IO对象作为输入,并通过调用puts来提供其输出。在正常使用中,使用$ stdout但在测试中使用StringIO对象。

如果这不可行,您可以在测试中考虑在被测试的类中定义一个特殊的puts方法。这会隐藏真实的放置方法。

相关问题