无法找到检测目标包:com.xyz

Sin*_*lla 24 junit android

我为一个库项目编写了一个testcase类,我分别创建了这个测试用例项目.

当我试图运行这个测试项目时,控制台显示错误"Unable to find instrumentation target package: <with package name>",

我也在谷歌搜索解决方案,在一些网站上他们检查AndroidManifestFile中的标签android:targetPackage属性.

我检查了清单,检测标签是否正确,它正确定位了libraryproject包.

任何人都可以帮忙,使我的testcase项目可以运行

yor*_*rkw 24

您必须创建和设置依赖于库项目的应用程序项目,以便测试库项目.引自官方开发者指南:

测试图书馆计划

有两种建议的方法可以在库项目中设置代码和资源的测试:

  • 您可以设置一个测试项目来检测依赖于库项目的应用程序项目.然后,您可以为项目添加测试以获取特定于库的功能.

  • 您可以设置一个依赖于库的标准应用程序项目,并将该工具放入该项目中.这使您可以创建一个包含测试/仪器和要测试的代码的自包含项目.

Android库项目不是直接构建的,而是与主应用程序项目一起构建的.换句话说,您无法直接将其编译为自己的.apk并在Android设备上运行它.另一方面,在设备上安装app.apk和test.apk之后,通过在Eclipse中运行测试项目应用程序("Run As ..." - >"Android JUnit Test")进行检测测试,然后使用test .apk来操纵app.apk--因此测试名称的"仪器"部分.


更新:

请注意,如果使用第二种方法,则可以创建测试项目测试库项目而无需创建第三个应用程序项目,因为测试项目本身也是常规应用程序项目.


Daw*_*ozd 11

当你创建android测试项目时记得要设置好的目标包

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test" <-------------------
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk android:minSdkVersion="8" />
    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.example.test" >  <-----------------
    </instrumentation>
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <uses-library android:name="android.test.runner" />
        <activity android:name="TestActivity" />
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)


gsa*_*lis 5

就我而言,我使用gradle运行,仅使用以下命令运行connectedInstrumentTest任务:

./gradlew connectedInstrumentTest

并且我收到“无法找到检测信息”错误...问题是我还需要包括在connectedInstrumentTest任务之前要执行的installDebug任务,如下所示:

./gradlew installDebug connectedInstrumentTest
Run Code Online (Sandbox Code Playgroud)