Java7으로 컴파일 된 코드로 정적 테스트를 조롱하는 데 문제가 있습니다. 내 테스트를 실행하고있는 경우,Java7 구문을 사용하여 정적 메서드를 조롱 할 때 PowerMock 문제가 발생했습니다.
java.lang.VerifyError: JVMVRFY012 stack shape inconsistent [...]
을 반환
PowerMockito.mockStatic(StaticClassToMock.class);
내 정적 클래스를 조롱 할 때
나는 주석
@RunWith(PowerMockRunner.class)
@PrepareForTest(StaticClassToMock.class)
내 JUnit 테스트를 주석하고 StaticClassToMock OR에서 catch 된 예외를 대체하고 t를 두어 Java7 구문을 제거합니다. 캐스케이드의 밑단은 잘 작동합니다.
Powemock (1.6.6)의 마지막 버전이 Java6으로 컴파일 된 것을 보았습니다. PowerMock가 Java6로 컴파일 할 때
는 Java7 구조에 관한 내 문제인가?
감사합니다.
설명 주셔서 감사합니다 GhostCat, 나는 정적 코드와 IBM JDK에 대한 귀하의 의견에 완전히 동의합니다. 불행히도 IBM 코드를 확장하고 있으며 기존 코드를 수정할 방법이 없습니다. 어쨌든 나는이 자료를 해결할 수있었습니다 : oldjavassist 라이브러리 때문이었습니다. 새로운 버전으로 업그레이드하면 문제가 해결됩니다. 고마워요! – flavio
당신은 매우 환영합니다; 업데이트 해 주셔서 감사합니다. – GhostCat