Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用多个项目进行Eclipse测试_Java_Android_Eclipse - Fatal编程技术网

Java 使用多个项目进行Eclipse测试

Java 使用多个项目进行Eclipse测试,java,android,eclipse,Java,Android,Eclipse,因此,我正在尝试建立一个包含多个项目的JUnit测试套件。我有我的主要项目,我称之为应用程序,需要测试。最初,为了在应用程序上运行JUnit测试,我还有第二个名为AndroidTestProject的项目,其中包含几个包。该项目有几个src包: test.app.perf test.app.sanity test.app.base test.app.fact test.app.dev test.app.util 为了让事情变得更干净,我想做的是为基本包创建第三个名为framework的项目。我

因此,我正在尝试建立一个包含多个项目的JUnit测试套件。我有我的主要项目,我称之为应用程序,需要测试。最初,为了在应用程序上运行JUnit测试,我还有第二个名为AndroidTestProject的项目,其中包含几个包。该项目有几个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包中的测试时出现了运行时异常。Eclipse在sanity包中找不到任何java类,即使它们存在并且我正在尝试运行。我是不是把依赖关系搞砸了

作为参考,我在TestProject的构建路径中有一个框架,所以我认为不是这样。但是当一切都在TestProject中时,我的JUnit测试运行得很好,而不是在两个项目之间进行划分

谢谢你能提供的任何帮助

完全例外:

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

确切的例外是什么?另外,框架是否包含测试代码,或者它是您的应用程序的一部分?如果它进行编译,则不应该是路径问题。我同意Monad的观点,我们可以看看例外情况吗?只是在页面中添加了例外情况。框架包含测试代码,它不是应用程序的一部分。它主要是sanity和perf用来做事情的抽象类和实用方法。每个项目的Android包名是什么?您正在运行哪个测试项目?您是直接运行Framework还是运行TestProject?我正在TestProject中运行JUnit测试文件。TestProject有运行实际测试的代码,框架主要是抽象的。