我运行了 spork 来加速我的测试,但是当我运行它们时没有输出。是否有我需要修改的配置?
刚刚也遇到了这个问题,在 spork 1.0.0rc4 和 rspec 2.14.1 / rspec-core 2.14.8 上运行。据我所知,问题在于以下几点:
- Spork 将 $stdout 配置为指向 localhost:port(drb 客户端),以便所有报告器输出都发送到 drb 客户端。现在发生这种情况afterSpork.prefork 已运行。
- 在我的 Spork.prefork 块中,我(自然地)正在执行 RSpec.configure do |config| ,其中一个配置调用(特别是 config.mock_with :rr)导致了一系列调用,最终导致报告器/格式化程序在 RSpec.configuration 中进行初始化 - 但没有错误的标准输出。
- RSpec.configuration 有一个重置方法(标记为 @private 但可惜),它刷新初始化的报告器/格式化程序,以延迟重新初始化。
-
另外,不知何故 RSpec.configuration.output_stream 永远不会设置。最重要的是,将此代码添加到 Spork.each_run 似乎可以解决问题:
if Spork.using_spork?
RSpec.configure do |config|
config.reset
config.output_stream = $stdout
end
end
如果有人知道解决这个问题的更优雅的方法,请告诉!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)