2012-02-09 82 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