2012-11-19 4 views
1

Grails를 사용하고 있습니다. Spock 통합 테스트가 모두 작동합니다.AutoFlush를 사용하여 트랜잭션이 IntregrationSpecs에서 롤백되지 않습니다.

그러나 autoFlush 속성을 true로 설정하면 데이터가 롤백되지 않아 여러 테스트가 실패하기 시작했습니다.

아이디어가 있으십니까?

* 임 사용하여 Grails에 내 테스트의

+0

트랜잭션 외부에서 무언가가 플러시되거나 h2에서 완전히 트랜잭션 적이 아닌 DDL을 사용 중일 수 있습니다. –

+0

사용자 정의 클래스를 사용하여 객체를 작성합니다. 즉, 미리 정의 된 팀 세트를 생성하고 저장하는 myService.buildTeams()를 호출합니다. transactional = false를 정의해야합니까? –

+0

메서드 호출이 단위 테스트의 트랜잭션 내부에있는 한 문제가되지 않아야합니다. –

답변

2

한 2.1.1 대신 IntegrationSpec의 사양을 확장했다. IntegrationSpec을 확장하면 모든 데이터가 모든 테스트 후에 롤백됩니다.

관련 문제