使用多个项目进行Eclipse测试

时间:2013-07-08 23:08:10

标签: java android eclipse

所以,我正在尝试建立一个包含多个项目的JUnit测试套件。我有我的主项目,我称之为App,需要进行测试。最初,我还有一个名为AndroidTestProject的第二个项目,它有几个包,以便在应用程序上运行JUnit测试。这个项目有几个src包:

test.app.perf
test.app.sanity
test.app.base
test.app.fact
test.app.dev
test.app.util

为了使事情变得更清洁,我想做的是为基础包创建一个名为framework的第三个项目。我的层次结构将是:

App
 various src packages

Framework
 test.app.base
 test.app.fact
 test.app.dev
 test.app.util

TestProject
 test.app.perf
 test.app.sanity

然而,当我完成这一切时,一切都很好,只是在尝试在sanity包中运行测试时我得到了一个RunTime异常。 Eclipse无法在sanity包中找到任何java类,即使它们存在并且我正在尝试运行它。我在某个地方弄乱了依赖吗?

作为参考,我在TestProject的构建路径中有框架,所以我认为不是这样。但是我的JUnit测试运行正常,因为一切都在TestProject中,而不是在两个项目之间分配。

感谢您提供的任何帮助!

确切的例外:

07-08 15:33:28.309: E/AndroidRuntime(30276): FATAL EXCEPTION: main
07-08 15:33:28.309: E/AndroidRuntime(30276): java.lang.RuntimeException: Exception thrown in onCreate() of ComponentInfo{test/android.test.InstrumentationTestRunner}: java.lang.RuntimeException: Could not find test class. Class: test.app.sanity.Tests
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4058)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.app.ActivityThread.access$1300(ActivityThread.java:127)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1219)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.os.Looper.loop(Looper.java:137)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.app.ActivityThread.main(ActivityThread.java:4558)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at java.lang.reflect.Method.invokeNative(Native Method)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at java.lang.reflect.Method.invoke(Method.java:511)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at dalvik.system.NativeStart.main(Native Method)
07-08 15:33:28.309: E/AndroidRuntime(30276): Caused by: java.lang.RuntimeException: Could not find test class. Class: test.app.sanity.Tests
07-08 15:33:28.309: E/AndroidRuntime(30276):    at  android.test.AndroidTestRunner.runFailed(AndroidTestRunner.java:233)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.test.AndroidTestRunner.loadTestClass(AndroidTestRunner.java:87)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.test.AndroidTestRunner.setTestClassName(AndroidTestRunner.java:48)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.test.suitebuilder.TestSuiteBuilder.addTestClassByName(TestSuiteBuilder.java:80)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at  android.test.InstrumentationTestRunner.parseTestClass(InstrumentationTestRunner.java:426)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.test.InstrumentationTestRunner.parseTestClasses(InstrumentationTestRunner.java:407)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:362)
07-08 15:33:28.309: E/AndroidRuntime(30276):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4055)
07-08 15:33:28.309: E/AndroidRuntime(30276):    ... 10 more

0 个答案:

没有答案