2016-11-24 10 views
1

Junit, Mockito, PowerMock 및 Robolectric을 사용하여 Android 용 유닛 테스트를 작성했으며 명령 줄을 통해 Linux 환경에서이 테스트를 실행하는 데 Robolectric Test Runner를 사용했습니다. Emma 명령 줄을 사용하여 적용 범위 보고서를 생성하려고합니다.Robolectric + Emma : 초기화 오류

아래 오류가 있습니다.

1) initializationError(com.ex.test.1_UT) 
org.junit.runners.model.InitializationError 
at org.junit.runners.ParentRunner.validate(ParentRunner.java:346) 
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:74) 
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:55) 
at org.robolectric.RobolectricTestRunner.<init>(RobolectricTestRunner.java:84) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31) 
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24) 
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) 
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29) 
at org.junit.runner.Computer.getRunner(Computer.java:38) 
at org.junit.runner.Computer$1.runnerForClass(Computer.java:29) 
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) 
at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:98) 
at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:84) 
at org.junit.runners.Suite.<init>(Suite.java:79) 
at org.junit.runner.Computer.getSuite(Computer.java:26) 
at org.junit.runner.Request.classes(Request.java:69) 
at org.junit.runner.JUnitCore.run(JUnitCore.java:117) 
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:98) 
at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:53) 
at org.junit.runner.JUnitCore.main(JUnitCore.java:45) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
t java.lang.reflect.Method.invoke(Method.java:606) 
at com.vladium.emma.rt.AppRunner$Invoker.run(AppRunner.java:655) 
at java.lang.Thread.run(Thread.java:745) 

FAILURES!!! 
Tests run: 1, Failures: 1 

제발 좀 도와주세요. 감사합니다.

답변

1

Robolectric과 함께 제공되는 초기화 오류는 테스트 클래스에서 org.robolectric.annotation.internal.DoNotInstrument 주석으로 해결할 수 있습니다. 좋아요 :

@RunWith(RobolectricTestRunner.class) 
@Config(constants = BuildConfig.class) 
@DoNotInstrument 

public class MyActivityTest { 
    .. 
}