0

我的规范(只有 1 次测试)用 rspec 运行大约需要 40 秒。我现在正在运行 spork,它确实将时间缩短到了大约 17 秒,但这对于仅 1 次测试来说似乎仍然有点荒谬。我使用的是 AMD Athlon II X2 250 3.0GHz 处理器、Ubuntu 11.04、4GB RAM。在运行测试时,处理器看起来确实在短时间内在两个内核上都达到了 100%。这一切听起来正常还是发生了什么奇怪的事情?

此外,当通过 Guard 运行时,计时器永远不会重置。所以第一个测试报告了 17 秒,然后如果我在开始下一个测试之前等待 15 秒,17 秒后它会报告第二个测试用了 49 秒(第一个测试用了 17 秒 + 中间的 15 秒 + 17 秒)。这是正常的吗?

describe "CompanyCustomers" do
  it "allows creation of new customers" do
    visit new_company_customer_path
    fill_in "company_customer_first_name", :with => "John"
    fill_in "company_customer_last_name", :with => "Doe"
    click_button("Save")
    page.should have_content("John Doe")
  end
end
4

1 回答 1

4

这将修复计时器,直到 Guard 或 RSpec 团队修复它。

Spork.each_run do
  $rspec_start_time = Time.now
end

不,单次测试的时间太长了。使用该代码,让我知道时间是否更真实。

如果仍然超过 10 秒,您应该尝试在实际代码中模仿您所做的事情。在浏览器中自己做。控制器响应需要这么长时间吗?也许你需要在那里优化。

如果没有,请向我们展示您的 spec_helper。

于 2011-12-13T17:37:00.027 回答