- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有几个包含参数和其他内容的表格,它永远不会改变!
但我不能告诉 database_cleaner 保留这些数据,每次测试后它都会截断我的所有数据库。
gem
gem "cucumber-rails", "~> 1.3.0", require: false
gem 'factory_girl_rails'
gem 'database_cleaner'
配置/cucumber.yml
enter code here
<%
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
%>
default: <%= std_opts %> features
wip: --tags @wip:3 --wip features
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
功能/支持/环境
require 'cucumber/rails'
require 'database_cleaner'
require 'database_cleaner/cucumber'
require 'factory_girl_rails'
Capybara.default_selector = :css
ActionController::Base.allow_rescue = false
begin
DatabaseCleaner.logger = Rails.logger
DatabaseCleaner.clean_with(:truncation, :except => %w[regions departements villes positions levels footballtypes genders publicies types])
DatabaseCleaner.strategy = :truncation, {:except => %w[regions departements villes positions levels footballtypes genders publicies types]}
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end
Cucumber::Rails::World.use_transactional_fixtures = false
Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
DatabaseCleaner.clean_with(:truncation, :except => %w[regions departements villes positions levels footballtypes genders publicies types])
DatabaseCleaner.strategy = :truncation, {:except => %w[regions departements villes positions levels footballtypes genders publicies types]}
end
Before do
DatabaseCleaner.strategy = :truncation, {:except => %w[regions departements villes positions levels footballtypes genders publicies types]}
DatabaseCleaner.clean_with(:truncation, :except => %w[regions departements villes positions levels footballtypes genders publicies types])
DatabaseCleaner.start
end
After do |scenario|
DatabaseCleaner.clean_with(:truncation, :except => %w[regions departements villes positions levels footballtypes genders publicies types])
DatabaseCleaner.strategy = :truncation, {:except => %w[regions departements villes positions levels footballtypes genders publicies types]}
DatabaseCleaner.clean
end
你有一些线索吗?谢谢,纳尔逊
最佳答案
这个问题在搜索“database-cleaner cucumber setup truncate seed”时不断出现,所以,即使这是一个老问题,我也会添加这个答案。
对我来说,有效的方法是将一个 ruby 文件添加到 features/support 目录,其中包含以下内容:
Cucumber::Rails::Database.javascript_strategy = :truncation, {:except => %w[regions departements villes]}
(我用你的表名替换了我的。)你可以将此行添加到 env.rb,但该文件有一个警告不要编辑。显然,当您运行 cucumber 时,features/support 目录中的任何 .rb 文件都会运行。我的是“setup.rb”。
这会覆盖 Cucumber 的默认设置,该设置会在 @javascript 标记场景后截断整个数据库。
正在使用的版本:cucumber (1.3.9)、cucumber-rails (1.4.0)。
另见 How do I get cucumber and databasecleaner to leave my seed data in my rails test db?并尝试
DatabaseCleaner.strategy = :truncation, {:except => %w[regions departements villes]}
参见 http://github.com/DatabaseCleaner/database_cleaner#how-to-use在文档中。撇开重复不谈,看来您已经在这样做了,我也是。设置 Cucumber::Rails::Database.javascript_strategy
是修复我在 Selenium 驱动程序上的 javascript 测试的额外调味料。
现在清洗,晾干 ;)
关于database - 如何告诉 Cucumber & databasecleaner 将我的种子数据留在我的 Rails 测试数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10761983/
这是我的jade雕像: section#entry-review-template.template(data-class='entry-review') table thead
我是一名优秀的程序员,十分优秀!