【问题标题】:Configure Turnip and Database_cleaner配置 Turnip 和 Database_cleaner
【发布时间】:2013-03-18 21:23:17
【问题描述】:

我正在使用Turnip 和 Ruby on Rails。我有使用和不使用 javascript 的场景。我想将transaction DatabaseCleaner 策略用于非javascript 场景,truncation 策略用于@javascript@selenium 等标记的场景。

我正在为Rspec Features使用以下解决方案

config.around(:each, :js => true) do |ex|
  DatabaseCleaner.strategy = :truncation
  ex.run
  DatabaseCleaner.strategy = :transaction
end

但它不适用于萝卜的情况。使它按我预期工作的最佳方法是什么?或者换句话说,如何在config.before中指定@javascript(或@selenium等)标记的萝卜场景?

【问题讨论】:

    标签: javascript ruby-on-rails rspec capybara database-cleaner


    【解决方案1】:

    通过检查 code of Turnip 我产生了这样的配置选项

     config.around(:each, type: :feature, javascript: true) do |example|
       DatabaseCleaner.strategy = :truncation
       example.run
       DatabaseCleaner.strategy = :transaction
     end
    

    在这种情况下,当场景被@javascript 标记时,策略设置为truncation,如下所示:

      @javascript
      Scenario: Viewing users
        Given the following users:
    

    但在我看来,当你想在一种情况下使用例如 Selenium 时,你不应该用 @selenium 标签替换 @javascrtipt 标签,而是在 @javascript 标签之后添加 @selenium 标签,如下所示

      @javascript @selenium
      Scenario: Viewing users
        Given the following users:
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多