gpt4 book ai didi

ruby - 在 RSpec 中检查(不存在) `puts`

转载 作者:数据小太阳 更新时间:2023-10-29 06:45:54 25 4
gpt4 key购买 nike

我在一个 ruby​​ 项目中使用 rspec 进行测试,我想说明在使用 -q 选项时我的程序不应输出任何内容。我试过:

Kernel.should_not_receive :puts

当有输出到控制台时,这并没有导致测试失败。

如何验证文本输出的缺失?

最佳答案

puts 在内部使用 $stdout。由于它的工作方式,最简单的检查方法是简单地使用:$stdout.should_not_receive(:write)

检查没有按预期写入标准输出。Kernel.puts(如上所述)只会导致测试失败被明确地这样称呼(例如 Kernel.puts“Some text”),其中在大多数情况下,它是在当前对象的范围内调用的。

关于ruby - 在 RSpec 中检查(不存在) `puts`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1546200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com