2014-02-19 3 views
5

이제 완전한 프로젝트가 생겼습니다. 테스트를 병렬 처리하고 싶었습니다. 병렬 옵션을 설정하면 광산 테스트가 실패하여 DirtiesContexts이 발생합니다. (비록 내가 testclasses에 @DirtiesContext(classMode=ClassMode.AFTER_CLASS)으로 주석을 달아도)Maven surfire가 reusefork 대 parallel을 비교 테스트했습니다.

여기에 stacktrace를 두지는 않겠지 만 applicationcontext를로드하지 못하여 applicationcontext를 등록 할 수 없으므로 이미 거기에 원인이 있습니다.

reusefork를 사용하는 경우 DirtiesContext에 주석을 추가하지 않아도 테스트가 완료됩니다.

reusefork를 사용할 때 항상 각 포크에 대해 새 VM을 만듭니다 (그게 왜 성공하는지 이유입니다). (여기 doc 참조 :)

평행을 사용하면 이렇게하지 않으므로 일반적으로 리소스가 덜 필요합니다.

  1. 문서의 링크는 TestNG를 병렬로 말한다, 그러나 here을 그들이 JUnit을 4.7 이야기 높은 그래서 혼란 스러워요, 올바른 문서 작업은 다음과 같습니다

    그래서 지금의 질문에?

  2. 병렬 테스트가 reusefork보다 나은가요?
  3. 더 나은 점이 있다면 DirtiesContext을 어떻게 해결할 수 있습니까?

Thx.

답변