我在 Eclipse 中为 Android 应用程序创建了一个 Maven 项目。
源代码位于 src/main/java 和(本地)单元测试,不直接使用任何 Android 类,位于 src/test/java。
奇怪的是,当我尝试在 src/test/java 的包中运行这样一个简单的测试时,只需通过 Eclipse -> Run As -> JUnit 测试:
package org.blacklight.android.flexibleprofiles.status.global;
import static org.junit.Assert.fail;
import org.junit.Test;
public class TestGlobalStatus {
@Test
public void testGlobalStatus() {
fail("Not supported");
}
}
我得到的是 ClassNotFoundException,即使该类实际上存在:
Class not found org.blacklight.android.flexibleprofiles.status.global.TestGlobalStatus
java.lang.ClassNotFoundException: org.blacklight.android.flexibleprofiles.status.global.TestGlobalStatus
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
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:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
我的项目的 Java 构建路径中确实有 JUnit 4 票,所以我无法意识到这里发生了什么。