我的测试班: @RunWith(AndroidJUnit4.class) @LargeTest 公共类LoginActivityTest4 {
@Rule
public ActivityTestRule<LoginActivity> mActivityRule =
new ActivityTestRule(LoginActivity.class);
@Test
public void testContainsIntialViews() {
onView(withId(R.id.Mot_de_passe)).check(matches(isDisplayed()));
onView(withId(R.id.Identifiant)).check(matches(isDisplayed()));
onView(withId(R.id.button_connexion)).check(matches(isClickable()));
}
}
我的错误
java.lang.ClassNotFoundException:
com.macuverie.mobile.vue.activity.LoginActivityTest4
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:400)
at android.support.test.internal.runner.TestLoader.doCreateRunner(TestLoader.java:72)
at android.support.test.internal.runner.TestLoader.getRunnersFor(TestLoader.java:104)
at android.support.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:789)
at android.support.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:539)
at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:382)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1932)
Caused by: java.lang.ClassNotFoundException: Didn't find class
"com.macuverie.mobile.vue.activity.LoginActivityTest4" on path:
DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file
"/data/app/com.macuverie.mobile.test-2/base.apk", zip file
"/data/app/com.macuverie.mobile-1/base.apk"],nativeLibraryDirectories=
[/data/app/com.macuverie.mobile.test-2/lib/x86,
/data/app/com.macuverie.mobile-1/lib/x86, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 8 more
Tests ran to completion.
这是我第一次在android下进行测试,所以有人想解释一下我对邪恶的看法,或者我忘了请帮帮我..
答案 0 :(得分:0)
您是否正在使用任何第三方插件?在我的情况下,我使用的是android-aspectjx
,出于晦涩的原因,它利用了我的测试运行。从我的build.gradle文件中删除以下行有助于:
apply plugin: 'android-aspectjx'
我建议您检查是否有任何第三方插件可能会影响您的问题,然后逐个删除它们,以查看其中一个是罪魁祸首。