Android 在Eclipse中使用自定义InstrumentationTestRunner会导致错误
我在Eclipse中有一个单独的测试项目,它已经在命令行和Eclipse中成功运行了一段时间。在使用Jenkins运行测试时,我遇到了标准InstrumentationTestRunner不能以Jenkins支持的xml格式输出的问题。我在互联网上读到过使用定制InstrumentationTestRunner的文章。这在使用ADB的命令行中工作,但在Eclipse中作为Android测试用例运行时失败 我下载了一个定制的检测测试运行程序(com.neenbedankt.android.test),并将其添加到AndroidManifest中,如下所示:Android 在Eclipse中使用自定义InstrumentationTestRunner会导致错误,android,unit-testing,Android,Unit Testing,我在Eclipse中有一个单独的测试项目,它已经在命令行和Eclipse中成功运行了一段时间。在使用Jenkins运行测试时,我遇到了标准InstrumentationTestRunner不能以Jenkins支持的xml格式输出的问题。我在互联网上读到过使用定制InstrumentationTestRunner的文章。这在使用ADB的命令行中工作,但在Eclipse中作为Android测试用例运行时失败 我下载了一个定制的检测测试运行程序(com.neenbedankt.android.test
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.testedapplication.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<instrumentation
android:name="com.neenbedankt.android.test.InstrumentationTestRunner"
android:targetPackage="com.testedapplication" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
</application>
</manifest>
以下是我在Eclipse中遇到的错误:
未正确配置[测试项目]以运行测试:
在AndroidManifest.xml中找不到instrumentation android.test.InstrumentationTestRunner的targetPackage属性
您可以看到,我已经在那里设置了targetPackage,所以我不确定还能做什么?因为我看不到您的整个项目设置,所以这里有一些检查列表,我会尝试
如果您已经完成了所有这些,我认为粘贴整个AndroidManifest文件将有助于澄清一点,以及您是否有两个独立的项目。啊,到目前为止,我已经能够通过在清单文件中描述android.test.InstrumentationRunner和customer test runner来实现它。我觉得从Eclipse运行时将使用android.test.InstrumentationRunner,从命令行运行时将使用自定义测试运行程序(如果在ant脚本中进行了设置)。在AndroidManifest.xml中添加这两个工具
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.myapp" />
<instrumentation
android:name=".MyRunner"
android:targetPackage="com.example.myapp" />
然后转到包资源管理器-->$(您的测试项目$)-->运行方式-->运行配置-->Android JUnit测试-->$(您的测试项目)-->插装运行程序并在那里选择您的运行程序。要使eclipse在运行方式为/Android JUnit时默认选择自定义运行程序,只需切换清单文件中的顺序。确保你的是第一个
<instrumentation
android:name="*.Custom.TestRunner"
android:targetPackage="com.*" />
<instrumentation
android:name="*.InstrumentationTestRunner"
android:targetPackage="com.*" />
我编辑了我的原始评论以回答您的问题。在切换到定制测试运行程序之前,我的测试是从命令行和Eclipse进行的。请参见原始问题中我的新编辑。谢谢。我再试了一次,似乎不需要android.test.InstrumentationTestRunner。你要做的就是改变仪器的设置。伙计,我喜欢stackoverflow。