我正在用Rspec和黄瓜创建一个应用程序。我的应用程序使用了大量的Javascript和Ajax,它可以工作,但是...我总是有许多问题使用Cucumber和Javascript。另外,它非常缓慢。对于每次启动,它都会启动firefox,并且对于每种情况都必须登录我的网站。我认为比我可以使用rspec登录部分(???)模拟。没有黄瓜的集成测试?
您是否认为使用Cucumber而不是RSpec/Capybara(也许牛排)会更好?忘记黄瓜会更快吗?你接受测试的过程如何?
我正在用Rspec和黄瓜创建一个应用程序。我的应用程序使用了大量的Javascript和Ajax,它可以工作,但是...我总是有许多问题使用Cucumber和Javascript。另外,它非常缓慢。对于每次启动,它都会启动firefox,并且对于每种情况都必须登录我的网站。我认为比我可以使用rspec登录部分(???)模拟。没有黄瓜的集成测试?
您是否认为使用Cucumber而不是RSpec/Capybara(也许牛排)会更好?忘记黄瓜会更快吗?你接受测试的过程如何?
在我的公司,我们用Rspec + Capybara取代了Cucumber,它在我看来更快更简洁。所有测试代码都集中在一个地方,这也使调试更加容易。
我的公司也使用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
我喜欢这个想法。但是,我们在哪里放置了上面的代码?此外,以前(:每个)都做了什么,以及代码如何知道“示例”对象是什么?我是BDD的新手,所以我正试图将所有运动部件放在我的头上。 – AKWF 2012-05-14 21:58:10
你对。我在rspec中转换了所有的测试,速度更快。 – Dougui 2012-02-14 01:22:28