필자가 테스트하는 시스템은 분리 된 테스트 사례를 작성하는 것이 시간과 리소스를 낭비하는 데 충분할만큼 복잡합니다. 그래서, 나는 서로를 쌓기 위해 나의 시험이 필요하다.Ruby on Rails : 오이 : 데이터베이스 클리너를 끄려면 어떻게해야합니까?
그러나 예를 들어, 내 단계 정의 중 하나에서 User.new를 가져올 때마다 시나리오가 완료되면 사용자가 DB에서 제거됩니다.
db : test : prepare를 강제하지 않으면 내 모든 정보를 어떻게 유지합니까?
기능/지원/env.rb에서ENV["RAILS_ENV"] ||= 'test'
require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support
require 'cucumber/rails/world'
require 'cucumber/rails/active_record'
require 'cucumber/web/tableish'
require 'cucumber/rails/rspec'
require 'rake'
require 'capybara/rails'
require 'capybara/cucumber'
require 'capybara/session'
require 'cucumber/rails/capybara_javascript_emulation' # Lets you click links with onclick javascript handlers without using @culerity or @javascript
require 'database_cleaner'
require 'database_cleaner/cucumber'
DatabaseCleaner.strategy = :transaction
@subscription_plan = Factory(:subscription_plan)
@subscription_plan.save!
Capybara.default_selector = :css
Capybara.default_wait_time = 2
Capybara.javascript_driver = :culerity
Capybara.current_driver = :culerity
Capybara.default_host = "cucumber.test.com" #for Rack::Test
Capybara.app_host = "cucumber.test.com" #if Capybara.current_driver == :culerity
Cucumber::Rails::World.use_transactional_fixtures = false
2013 내 env.rb 파일을 추가했습니다. 내 DB에 아직 데이터가 없습니다 ... 르 부. T_T – NullVoxPopuli
데이터를 유지해야하는 지형지 물 파일에 @ no-txn 태그를 추가하십시오. Cucumber가 시나리오를 트랜잭션에 래핑하지 않도록하기 위해 예약 된 태그 인 것 같습니다. – davidcelis
@ no-txn 작동하지 않음 = \ 정말 이상합니다 – NullVoxPopuli