在Rails中测试JavaScript视图

在Rails中测试JavaScript视图,javascript,ruby-on-rails,bdd,konacha,Javascript,Ruby On Rails,Bdd,Konacha,在Rails中测试JavaScript视图(测试页面是否在JavaScript方面工作)的最佳方法是什么 假设我有一个名为/users/new的页面,其中包含一个执行某些操作的表单。我希望它能让我提交表单,JavaScript测试工具会让我知道页面是否中断。最好的方法是什么 我遇到了三种测试选项: Konacha(迄今为止JS BDD的最佳工具) JasmineRice(Jasmine+导轨+防护装置) 水豚Webkit 前两种基本上用于BDD和独立测试。最后一个更符合我的要求,但是我不想为Ja

在Rails中测试JavaScript视图(测试页面是否在JavaScript方面工作)的最佳方法是什么

假设我有一个名为
/users/new
的页面,其中包含一个执行某些操作的表单。我希望它能让我提交表单,JavaScript测试工具会让我知道页面是否中断。最好的方法是什么

我遇到了三种测试选项:

  • Konacha(迄今为止JS BDD的最佳工具)

  • JasmineRice(Jasmine+导轨+防护装置)

  • 水豚Webkit

  • 前两种基本上用于BDD和独立测试。最后一个更符合我的要求,但是我不想为JavaScript BDD和集成测试设置单独的测试设置


    有谁有更好的解决方案吗?

    如果您使用的是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\u helper.rb

    中设置
    Capybara.javascript\u driver=:webkit
    ,检查github上的茶匙项目

    它支持摩卡、茉莉和昆特。。对使用PhantomJS(或Selenium Webdriver)无头运行规范提供了很好的支持,并允许使用完整的Rails资产管道(coffeescript、Fixture等)


    此外,它还受到我与其他测试运行人员使用Rails的经验的严重影响。

    这是我们为一个相当大的应用程序所做的。它可以工作,但速度很慢。你只想在你绝对需要的地方这样做。茶匙+1。我真的很喜欢它的覆盖范围支持。