이제 완전한 프로젝트가 생겼습니다. 테스트를 병렬 처리하고 싶었습니다. 병렬 옵션을 설정하면 광산 테스트가 실패하여 DirtiesContexts
이 발생합니다. (비록 내가 testclasses에 @DirtiesContext(classMode=ClassMode.AFTER_CLASS)
으로 주석을 달아도)Maven surfire가 reusefork 대 parallel을 비교 테스트했습니다.
여기에 stacktrace를 두지는 않겠지 만 applicationcontext를로드하지 못하여 applicationcontext를 등록 할 수 없으므로 이미 거기에 원인이 있습니다.
reusefork를 사용하는 경우 DirtiesContext
에 주석을 추가하지 않아도 테스트가 완료됩니다.
reusefork를 사용할 때 항상 각 포크에 대해 새 VM을 만듭니다 (그게 왜 성공하는지 이유입니다). (여기 doc 참조 :)
평행을 사용하면 이렇게하지 않으므로 일반적으로 리소스가 덜 필요합니다.
- 문서의 링크는 TestNG를 병렬로 말한다, 그러나 here을 그들이 JUnit을 4.7 이야기 높은 그래서 혼란 스러워요, 올바른 문서 작업은 다음과 같습니다
그래서 지금의 질문에?
- 병렬 테스트가 reusefork보다 나은가요?
- 더 나은 점이 있다면
DirtiesContext
을 어떻게 해결할 수 있습니까?
Thx.