Rspec быстрее, но все еще медленно на Spork - PullRequest
0 голосов
/ 13 декабря 2011

Моя спецификация (только 1 тест) требовала около 40 секунд для запуска с rspec. У меня сейчас работает spork, и он сократил время примерно до 17 секунд, но это все еще кажется немного нелепым только для одного теста. Я использую процессор AMD Athlon II X2 250 с тактовой частотой 3,0 ГГц, Ubuntu 11.04, 4 ГБ оперативной памяти. Процессор выглядит так, как будто он достигает 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

1 Ответ

4 голосов
/ 13 декабря 2011

Это исправит таймер, пока команда охраны или RSpec не исправит это.

Spork.each_run do
  $rspec_start_time = Time.now
end

И нет, это слишком много времени для одного теста. Используйте этот код и дайте мне знать, если время кажется более реальным.

Если это все еще более 10 секунд, вы должны попытаться имитировать то, что вы делаете в коде в реальном времени. Сделай сам в браузере. Требуется ли так много времени для ответа контроллеров? Может быть, вам нужно оптимизировать там.

Если нет, то покажите нам свой spec_helper.

...