오이를 사용하여 통합 테스트를 작성하고 Database Cleaner을 사용하여 데이터베이스를 깨끗하게 유지합니다. 내 테스트는 자바 스크립트가 필요하지 않기 때문에 모든 것이 완벽하게 작동합니다.카피 바라 웹킷의 데이터베이스 클리너 문제
Capybara webkit을 사용하여이 마지막 테스트를 통과시킬 수는 있지만 데이터베이스가 전혀 정리되지 않습니다.
require 'simplecov'
SimpleCov.start 'rails'
require 'cucumber/rails'
Capybara.default_selector = :css
Capybara.javascript_driver = :webkit
begin
require 'database_cleaner'
require 'database_cleaner/cucumber'
DatabaseCleaner[:active_record].strategy = :transaction
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end
Before do
DatabaseCleaner.start
end
After do |scenario|
DatabaseCleaner.clean
end
내가 카피 바라가 사용되지만 작동하지 않았다 드라이버 확인 this 비슷한 시도 :
여기 파일 내 기능/지원/env.rb입니다. 나는 또한 this post의 세 번째 부분에서 언급 한 해킹을 시도했지만 아무 것도 전혀 작동하지 않았다 ...
나는 이걸 어떻게 달성하고 어떤 도움을 주는지 크게 알게 될 것이다.
미리 감사드립니다.
그것은 트랜잭션 전략 오이 작동하지 않는 말을 잘못입니다 :
Avdi 그림 형제는 세부에서 솔루션을 설명하는이 주제에 대한 좋은 블로그 게시물이 있습니다. 그것은 당신이 사용하고있는 Capybara 드라이버에 달려 있습니다. 랙 테스트를 통해 모든 것이 진행 중이므로 트랜잭션 전략이 제대로 작동해야합니다. –
Andy 당신 말이 맞습니다. @ javascript가 항상 활성화되어 있으므로 오래된 랙 테스트를 완전히 잊어 버렸습니다. – svyatogor