MySql을 사용하는 Rails 4.0 응용 프로그램에서는 rspec을 strategy : transaction으로 구성된 database_cleaner gem과 함께 사용하여 모든 테스트 케이스에 대해 데이터베이스를 정리합니다. 롤백해야하는 사용자 정의 트랜잭션이있는 경우 작동하지 않습니다. database_cleaner 보석 단지 표준 방법을 사용하지 않고rspec의 사용자 정의 트랜잭션이 작동하지 않습니다
:
config.use_transactional_fixtures = true
모두는 aspected하게 작동합니다. 하지만 자바 스크립트로 기능 테스트를 실행하려면 fixture 삭제 전략을 truncation으로 변경하려면 database_cleaner가 필요합니다.
database_cleaner를 사용자 정의 트랜잭션과 함께 사용하려면 어떻게해야하며 표준 rspec 트랜잭션 전략과 다른 점은 무엇입니까?
나는 DatabaseCleaner.strategy = : deletion/DatabaseCleaner.strategy = : truncation에 대해 알고 있다고 확신합니다. 나는 이것이 database_cleaner의 : 트랜잭션 전략 내에서의 문제인지 또는 이것이 예기치 않게 때때로 작동하는 중첩 된 트랜잭션과 관련된 일반적인 문제 일 경우에도 여전히 관심이 있습니다. –