프로젝트에서 Mockito를 성공적으로 사용했다면 에스프레소 테스트 (여기에 설명 된대로 : https://developer.android.com/training/testing/ui-testing/espresso-testing.html#build)를 추가하기로 결심했습니다. 내 build.gradle에 에스프레소를 추가하면 Mockito에 문제가 발생합니다.에스프레소 프로젝트에 추가했을 때 예외 Mobito
Mockito가 작동 중일 때 build.gradle에 대한 나의 의존성. 에스프레소 코어 : 나는 com.android.support.test.espresso 포함 할 마지막 행의 주석을 해제하면
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.4.0'
testCompile 'junit:junit:4.12'
//Mockito framework
testCompile 'org.mockito:mockito-core:1.10.19'
// https://mvnrepository.com/artifact/org.powermock/powermock-module-junit4
testCompile group: 'org.powermock', name: 'powermock-module-junit4', version: '1.6.4'
testCompile 'org.powermock:powermock-api-mockito:1.5.5'
androidTestCompile ('com.android.support:support-annotations:23.4.0')
//androidTestCompile ('com.android.support.test.espresso:espresso-core:2.2.2')
}
: Mockito를 사용하여 내 테스트를 통과 2.2.2을하고 나는 다시 내 테스트를 실행 나는 다음과 같은 오류가 Mockito.spy
또는 Mockito.mock
방법에 하나 실패하고 실패
java.lang.IllegalAccessError: class org.mockito.internal.creation.jmock.ClassImposterizer$1 cannot access its superclass org.mockito.internal.creation.cglib.MockitoNamingPolicy
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.mockito.internal.creation.jmock.ClassImposterizer.<clinit>(ClassImposterizer.java:38)
at org.mockito.internal.creation.CglibMockMaker.createMock(CglibMockMaker.java:23)
at org.powermock.api.mockito.internal.mockmaker.PowerMockMaker.createMock(PowerMockMaker.java:43)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:33)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:59)
at org.mockito.Mockito.spy(Mockito.java:1368)
at todolistj.todolist.unittest.CustomClass.size(CustomClass.java:54)
모든 테스트 : 그들 중 일부. 뭔가 같이 :
CustomClass1 li1 = Mockito.spy(new CustomClass1(somevar));
또는
View vm= Mockito.mock(View.class);
어떤 도움을 주시면 감사하겠습니다!
전원 모의의 버전이 너무 오래 것 같습니다. https://github.com/spring-projects/spring-boot/issues/2606 –
그게 mockito와 문제가 아니지만, powermock과 함께 – piotrek1543
고마워요! 멋 졌어요. org.powermock : powermock-api-mockito를 1.6.4로 변경하면 문제가 해결되었습니다! 이것을 답변으로 게시하면 동의하게됩니다. – Jeni