【问题标题】:Integration tests with Javascript through Test::Unit and Capybara in Ruby on Rails通过 Ruby on Rails 中的 Test::Unit 和 Capybara 与 Javascript 进行集成测试
【发布时间】:2014-10-03 15:44:11
【问题描述】:

使用 RSpec 和 Capybara,我曾经编写以下代码来测试运行了一些 javascript 的页面中的功能:

feature "Some Feature" do
    scenario "testing some scenario", js: true do
        # code
    end
end

现在,将 Test::Unit 与 Capybara 一起使用,我该如何获得相同的结果?因为当我执行test 'checks some feature on some scenario', js: true 时,它似乎不起作用。

编辑

所以,我能够解决以下问题:

setup do
    Capybara.current_driver = Capybara.javascript_driver
end

teardown do
    Capybara.current_driver = Capybara.default_driver
end

test 'checks some feature on some scenario with javascript goin on' do
    # code
end

如果没有这样的样板代码,还有其他解决方案吗?

【问题讨论】:

    标签: javascript ruby-on-rails capybara integration-testing testunit


    【解决方案1】:

    好的,我最终通过在 test_helper.rb 中定义一个方法来解决这个问题,该方法将测试包装在水豚驱动程序分配中:

    def js
        Capybara.current_driver = Capybara.javascript_driver
        yield
        Capybara.current_driver = Capybara.default_driver
    end
    

    并像这样使用它:

    test 'checks some feature on some scenario with javascript goin on' do
        js do
            # code
        end
    end
    

    我读到minitest-data 可能在这里有用,但我没有进一步挖掘。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      相关资源
      最近更新 更多