Rails 中测试 JavaScript 视图(测试页面是否以 JavaScript 为明智)的最佳方法是什么?
假设我有一个名为/users/new
的页面,其中包含一个执行某些操作的表单。我希望拥有它,以便我提交表单,JavaScript 测试工具会让我知道该页面是否断开。最好的方法是什么?
我遇到了三个测试选项:
Konacha(迄今为止JS BDD的最佳工具)http://www.solitr.com/blog/2012/04/konacha-tutorial-javascript-testing-with-rails/
茉莉香米(茉莉花 + 导轨 + 护罩) https://github.com/bradphelan/jasminerice/
水豚网妖。 https://github.com/thoughtbot/capybara-webkit
前两个基本上用于BDD和隔离测试。最后一个是我正在寻找的,但我不想为 JavaScript BDD 和集成测试设置单独的测试设置。
有人有更好的解决方案吗?
在 github 上查看 Teaspoon 项目。
https://github.com/modeset/teaspoon
它支持Mocha,Jasmine和QUnit..很好地支持使用PhantomJS(或Selenium Webdriver)无头运行您的规范,并允许使用完整的Rails资产管道(coffeescript,fixture等)。
此外,它在很大程度上受到我与其他使用 Rails 的测试运行者的经验的影响。
如果您使用的是 RSpec,则可以在 RSpec 集成测试中使用 Capybara:
spec/requests/my_spec.rb:
describe "my test", :js => true do
it "should do something" do
visit '/some/path'
click_on 'Submit'
page.should have_content 'Congratulations!'
end
end
请记住在 spec_helper.rb
中设置Capybara.javascript_driver = :webkit
。