2012-02-09 181 views
1

我正在用Rspec和黃瓜創建一個應用程序。我的應用程序使用了大量的Javascript和Ajax,它可以工作,但是...我總是有許多問題使用Cucumber和Javascript。另外,它非常緩慢。對於每次啓動,它都會啓動firefox,並且對於每種情況都必須登錄我的網站。我認爲比我可以使用rspec登錄部分(???)模擬。沒有黃瓜的集成測試?

您是否認爲使用Cucumber而不是RSpec/Capybara(也許牛排)會更好?忘記黃瓜會更快嗎?你接受測試的過程如何?

回答

1

在我的公司,我們用Rspec + Capybara取代了Cucumber,它在我看來更快更簡潔。所有測試代碼都集中在一個地方,這也使調試更加容易。

+0

你對。我在rspec中轉換了所有的測試,速度更快。 – Dougui 2012-02-14 01:22:28

3

我的公司也使用rspec/cucumber。如果硒的速度是一個瓶頸,你可以嘗試像capybara-webkit

不知道是否有幫助,但我們也使用登錄宏,僅命中的JavaScript在登錄頁面請求

def login_user 
    let(:current_user) { Factory.create(:user) } 

    before(:each) do 
    if example.options[:js] 
     visit new_user_session_path 
     fill_in 'Email', :with => current_user.email 
     fill_in 'Password', :with => current_user.password 
     click_button 'Sign In' 
    else 
     page.driver.post user_session_path, 'user[email]' => current_user.email, 'user[password]' => current_user.password 
    end 
    end 
end 
+0

我喜歡這個想法。但是,我們在哪裏放置了上面的代碼?此外,以前(:每個)都做了什麼,以及代碼如何知道「示例」對象是什麼?我是BDD的新手,所以我正試圖將所有運動部件放在我的頭上。 – AKWF 2012-05-14 21:58:10