在进行JUnit4进行javaTest(非androidTest)测试时报错,提示找不到项目中的类:
java.lang.NoClassDefFoundError: com/xxxx/$ConnectionListener
at com.xxx.XxxxUtilTest.getCurrentTime(XxxxUtilTest.java:12)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在项目中创建一个测试类,发现是可以正常运行的,通过分析发现,找不到的那个Class是因为构造方法中用到了Android SDK中的api,导致该类无法在javaTest中创建对象,只能在androidTest中创建
解决办法:
检查所测试的那个类以及它的父类,在构造方法或者静态变量/静态方法中是否有引用到Android SDK中的API! 如果该测试的类需要Android运行环境,应该放到AndroidTest中进行测试!
|