2013-09-06 2 views
2

테스트 (스키마 및 일부 테스트 데이터)에서 데이터베이스를 설정해야하는데, 이것은 상당한 시간이 걸리므로 실행중인 모든 테스트에 대해 한 번 수행하는 것을 선호합니다 , DB에 대한 모든 chanet이 테스트 사이에서 롤백되도록 재설정합니다.모든 테스트를위한 JUnit 설정

어떤 JUnit 기능을 사용해야하는지 잘 모르겠습니다. 테스트 스위트에서 @ BeforeClass/@ AfterClass를 설정할 수 있지만 더 이상 개별 테스트를 실행할 수없는 것 같습니다. 특정 제품군이 아닌 테스트의 서브 세트 만 실행하는 경우에도 실행되는 모든 테스트에 대해 setup/teardown을 추가하는 방법이 있습니까? (예를 NUnit과는 SetUpFixture을 가지고 들어) 나는 DB의/잘라 내기의 JUnit 규칙을 사용하여 수행 할 수있는 거래를 ... 추측

답변

1

당신은 테스트 속도를 HSQL 또는 H2 같은 인 메모리 데이터베이스를 사용할 수 있습니다.

롤백하려면 트랜잭션 기능을 사용할 수 있습니다.

테스트의 하위 집합 만 실행하고 특정 제품군을 실행하지 않는 경우에도 실행되는 모든 테스트에 대한 설정/해체를 추가하는 방법이 있습니까?

이렇게하려면 다른 테스트 클래스에 의해 확장되는 수퍼 클래스를 만들 수 있습니다. 수퍼 클래스에서는 setup/teardown을 설정할 수 있습니다.

관련 문제