rspec - 如何配置 rspec 以使用 spork 显示输出?

标签 rspec spork

我运行了 spork 来加速我的测试,但是当我运行它们时没有输出。是否有需要修改的配置?

最佳答案

刚刚也遇到了这个问题,在 spork 1.0.0rc4 和 rspec 2.14.1/rspec-core 2.14.8 上运行。据我所知,问题在于以下几点:

  1. Spork 将 $stdout 配置为指向 localhost:port(drb 客户端),以便所有报告器输出都发送到 drb 客户端。现在,这发生在 Spork.prefork 运行之后。
  2. 在我的 Spork.prefork block 中,我(自然地)正在执行 RSpec.configure do |config| ,其中一个配置调用(特别是 config.mock_with :rr)导致了一系列调用,最终导致了RSpec.configuration 中的报告器/格式化程序将被初始化 - 但没有错误的标准输出。
  3. RSpec.configuration 有一个重置方法(标记为 @private 但可惜),它会刷新初始化的报告器/格式化程序,以延迟重新初始化。
  4. 此外,不知何故,RSpec.configuration.output_stream 从未被设置。最重要的是,将此代码添加到 Spork.each_run 似乎可以解决问题:

    if Spork.using_spork?
        RSpec.configure do |config|
            config.reset
            config.output_stream = $stdout
        end
    end
    

如果有人知道解决这个问题的更优雅的方法,请告诉!

关于rspec - 如何配置 rspec 以使用 spork 显示输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22239382/

相关文章:

ruby-on-rails - 使用 RSpec 进行 Rails 片段缓存测试

ruby-on-rails - Rspec 将 GET 参数传递给 PUT 操作

ruby-on-rails-3 - 使用 Minitest+Guard+Spork,每次运行都会重新加载所有测试套件和支持文件

ruby-on-rails - save_and_open_page 和 spork,spork 正在丢失测试套件/输出

ruby-on-rails - 使用 Guard 和 Spork 重新加载 RSpec 共享示例

ruby-on-rails-3 - rspec 返回 "PG::Error: ERROR: relation "表名“不存在”

ruby - rspec 它在循环内阻塞

ruby - 为什么我的 rspec 测试在 Ruby 1.9.2 中比在 1.8.7 中运行得慢?

javascript - Protractor 有 "page.has_content"命令吗?