0

我在 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 票,所以我无法意识到这里发生了什么。

4

1 回答 1

0

这是适用于 Maven Eclipse 的 Android 连接器的一个已知问题:

https://github.com/rgladwell/m2e-android/issues/154

于 2013-10-19T15:19:03.300 回答