2 가지 테스트 케이스가있는 간단한 arquillian 테스트 클래스가 있습니다. 테스트 클래스에는 정적 변수가 있으며 처음에는 null입니다. 첫 번째 테스트 케이스는 해당 변수의 값을 설정하지만 두 번째 테스트가 시작되면 변수의 값은 null입니다. 하나의 테스트가 다른 테스트에 의존하기 때문에 이것이 올바른 방법이 아니라는 것을 알고 있습니다.Arquillian 테스트 클래스 변수의 값이 손실 됨
다른 유사한 경우로 @BeforeClass
메서드에서 정적 변수의 값을 설정할 때. 첫 번째 테스트가 실행되면 변수는 다시 null이됩니다. 단지 @Before
메서드를 사용하면 값이 올바르게 설정되지만 많은 테스트가 있고 변수의 설정이 시간 집약적 인 경우 나쁜 대안이됩니다.
왜 이런 일이 발생하는지 이해가되지 않습니다. 테스트가 단순히 JUnit 테스트로 실행되는 경우 정적 변수가 정상적으로 작동합니다. 이것에 대한 치료법이 있습니까?
테스트는 관리되는 jboss 컨테이너로 실행됩니다.
빠른 답변 감사드립니다. 문제는 Arquillian으로 테스트를 실행하면 @BeforeClass에 설정된 정적 변수도 다시 초기화된다는 것입니다. 이에 따라 내 질문을 업데이트했습니다. – Zuller
@ Zuller, 정적 데이터를 저장하는 데 동일한 클래스를 사용하지 마십시오. 정적 데이터를 보유 할 별도의 클래스를 만들 수 있습니다. –