如何在Maven项目中从Eclipse运行AndroidTestCase测试

如何在Maven项目中从Eclipse运行AndroidTestCase测试,android,maven,junit,m2e,Android,Maven,Junit,M2e,我有一个安卓Maven项目(使用安卓Maven插件),有一个项目和一个测试项目 我将Maven配置为运行插装测试,它们运行时没有Maven的问题(mvn clean install) 但是,我无法从Eclipse运行测试。 我的测试项目包含两种类型的类。从AndroidTestCase继承的人和从ActivityInstrumentationTestCase2继承的人 测试类(在测试项目中)是根据目标/类构建的 我试图将它们作为Android JUnit测试运行,但得到:测试运行失败:由于“ja

我有一个安卓Maven项目(使用安卓Maven插件),有一个项目和一个测试项目

我将Maven配置为运行插装测试,它们运行时没有Maven的问题(mvn clean install)

但是,我无法从Eclipse运行测试。 我的测试项目包含两种类型的类。从AndroidTestCase继承的人和从ActivityInstrumentationTestCase2继承的人

测试类(在测试项目中)是根据目标/类构建的

我试图将它们作为Android JUnit测试运行,但得到:测试运行失败:由于“java.lang.RuntimeException”,检测运行失败。

我看到了,这个问题似乎是由(运行程序希望类位于bin/类之下,而不是这些类之下)引起的

另一方面,有一种运行测试的变通方法,即以常规JUnit测试的方式运行测试,并将类添加到类路径中。这个解决方案也不起作用。我得到:

java.lang.RuntimeException: Stub!
    at junit.framework.TestSuite.<init>(TestSuite.java:6)
    at     org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.getTest(JUnit3TestLoader.java:    102)
    at     org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.loadTests(JUnit3TestLoader.jav    a:59)
    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.lang.RuntimeException:存根!
位于junit.framework.TestSuite.(TestSuite.java:6)
位于org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.getTest(JUnit3TestLoader.java:102)
位于org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.loadTests(JUnit3TestLoader.java:59)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

有什么方法可以同时从Maven和Eclipse运行测试项目吗?

如果您在Eclipse emulator中使用Maven运行Android Instrumentation测试,您必须:

  • 在单独的集成测试项目/模块中运行它们
  • 将测试放入非测试源文件夹,如
    src/main/java

  • 请参阅以获取示例。

    您是使用Eclipse还是ADT JUnit launcher运行这些测试?ADT launcher,尽管我也尝试了Eclipse。该异常看起来好像您是针对SDK Android.jar(仅包含Android API代码存根)在本地运行测试。第一个错误听起来像是m2e Android中的错误。我不知道如何解决这个问题。您可能希望在此处报告:完成,[看起来您是正确的。问题源于错误的目录结构。遵循建议的约定后,我能够从CLI(使用mvn clean install)和Eclipse运行测试。感谢您的支持。