나는 내 테스트가 통과하거나 선언의 순서에 따라 실패하는 경우를 다루고있다. 이 코스는 제대로 격리되지 않은 테스트를 가리 킵니다. 그러나 나는 문제를 찾는 방법에 관해서 난처한 입장에 처해있다. 것은 junit에 빌드 된 테스트 프레임 워크에 속하며 일부 종속성 주입 컨테이너가있는 클래스에서 파생 된 내 junit 테스트입니다. 컨테이너는 기본 클래스 설정에 따라 모든 테스트마다 재설정되므로 컨테이너 자체가 새로운 컨테이너이기 때문에 적어도 컨테이너에는 느린 개체가 없습니다. 그래서 나는 다음과 같은 시나리오에 기대고있다.간헐적 인 junit 테스트 실패 문제를 해결하는 방법은 무엇입니까?
- test1은 classA.somestaticMember를 xyz 값으로 설정하는 일부 classA를 간접적으로 발생시킵니다. test obj는 classA에 대한 참조를 직접적으로 유지하지 않지만 testA가 끝나면 classA는 여전히 값이 xyz 인 VM에 의해로드됩니다.
- test2 액세스 classA 및 xyz 값을 가진 somestaticmember에 올라간다.
문제점은 다음과 같습니다. a) 실제로 이것이 사실인지 어떻게 알지 못합니다. 어떻게 찾습니까? 코드에서 정적 var에 대한 참조를 찾을 수없는 것 같습니다 ... b) junit에로드 된 모든 클래스를 덤프하고 모든 테스트 메소드에 대해 새로 고치라고하는 방법이 있습니까?
실행 순서에 따라 테스트가 실패하면 실제로는 단위 테스트가 아닙니다. 그것은, 또는 당신은 비품을 이용하지 않습니다. – cHao