我正在为我的 Rails 应用程序使用黄瓜编写 BDD,但在运行“黄瓜”时遇到问题
我的测试数据库是“test_db”。当我运行 cucumber features/my_Feature_file.feature 时,它显示场景通过或失败,但同时它也在清理我的数据库。
我是黄瓜的新手。所以请告诉我,当你运行 cucumber 时,测试默认情况下,数据库将被清理。就像如果我正在为用户登录编写 BDD,那么如果没有任何记录,那么我的步骤将如何检查用户是否有效?
我在用:
Gemfile(用于测试)-
group :test do
gem 'ZenTest'
gem 'autotest-rails'
gem 'autotest-growl'
gem 'selenium'
gem 'selenium-client'
gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'rspec-rails'
gem 'spork'
gem 'xpath'
gem 'launchy'
gem 'cucumber-sinatra'
gem 'webrat'
end
功能/支持/env.rb-
require 'cucumber/rails'
Capybara.default_selector = :css
ActionController::Base.allow_rescue = false
begin
DatabaseCleaner.strategy = :transaction
#DatabaseCleaner.strategy = nil
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::Database.javascript_strategy = :truncation
我尝试使用:
DatabaseCleaner.strategy = nil
和
Cucumber::Rails::World.use_transactional_fixtures = false
有人可以消除我的困惑并指导我正确的方式吗?高度赞赏帮助。