Espresso 在 Android 上测试未 运行 12
Espresso tests not running on Android 12
我的 Pixel 4a 已升级到 Android 12,现在,当我尝试 运行 在该设备上进行 Espresso 测试时,没有测试 运行。 Android Studio 显示“测试通过 0 通过”。没有测试 运行。在 Android 11 设备上测试仍然 运行 符合预期。
我的测试方法用org.junit.Test注释。我的测试 class 被注释为 androidx.test.filters.LargeTest。
我确保升级 Android Studio。我在 build.gradle 中将 compileSdkVersion 和 targetSdkVersion 更新为 31。我检查了我的测试依赖项并将它们更新为以下版本:
junit:junit:4.13.2
androidx.test.ext:junit-ktx:1.1.3
androidx.test:runner:1.4.0
androidx.test:rules:1.4.0
androidx.test.uiautomator:uiautomator:2.2.0
androidx.test.espresso:espresso-core:3.4.0
androidx.work:work-testing:2.7.0
改了这么多,问题依旧,我在AVD上也看到了。
有其他人遇到过这个问题吗?
我是怎么解决的Android12.
如果要使用测试编排器
确保您拥有最新的编排器和测试运行器版本。
androidTestUtil 'androidx.test:orchestrator:1.4.1'
androidTestImplementation 'androidx.test:runner:1.4.0'
确保它在您的 app/build.gradle
的 testOptions
中。
execution 'ANDROIDX_TEST_ORCHESTRATOR
或者,如果您不想使用测试协调器
从 app/build.gradle.
的 testOptions 中删除以下行
execution 'ANDROIDX_TEST_ORCHESTRATOR
我是怎么解决的 Android 11.
(如果您对 Android 12 上的 运行 orchestrator 感兴趣,请在上面的第一步之外执行以下步骤)
在 androidTest 文件夹中创建一个 AndroidManifest.xml 并添加以下查询权限以通过允许 orchestrator 包与测试包通信来解析 'no tests found'
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="your.package.name">
<!-- This Manifest will only apply changes to androidTest builds -->
<queries>
<package android:name="androidx.test.orchestrator.OrchestratorService"/>
</queries>
<application android:forceQueryable="true" />
我的 Pixel 4a 已升级到 Android 12,现在,当我尝试 运行 在该设备上进行 Espresso 测试时,没有测试 运行。 Android Studio 显示“测试通过 0 通过”。没有测试 运行。在 Android 11 设备上测试仍然 运行 符合预期。
我的测试方法用org.junit.Test注释。我的测试 class 被注释为 androidx.test.filters.LargeTest。
我确保升级 Android Studio。我在 build.gradle 中将 compileSdkVersion 和 targetSdkVersion 更新为 31。我检查了我的测试依赖项并将它们更新为以下版本:
junit:junit:4.13.2
androidx.test.ext:junit-ktx:1.1.3
androidx.test:runner:1.4.0
androidx.test:rules:1.4.0
androidx.test.uiautomator:uiautomator:2.2.0
androidx.test.espresso:espresso-core:3.4.0
androidx.work:work-testing:2.7.0
改了这么多,问题依旧,我在AVD上也看到了。
有其他人遇到过这个问题吗?
我是怎么解决的Android12.
如果要使用测试编排器
确保您拥有最新的编排器和测试运行器版本。
androidTestUtil 'androidx.test:orchestrator:1.4.1'
androidTestImplementation 'androidx.test:runner:1.4.0'
确保它在您的 app/build.gradle
的 testOptions
中。
execution 'ANDROIDX_TEST_ORCHESTRATOR
或者,如果您不想使用测试协调器
从 app/build.gradle.
的 testOptions 中删除以下行 execution 'ANDROIDX_TEST_ORCHESTRATOR
我是怎么解决的 Android 11.
(如果您对 Android 12 上的 运行 orchestrator 感兴趣,请在上面的第一步之外执行以下步骤)
在 androidTest 文件夹中创建一个 AndroidManifest.xml 并添加以下查询权限以通过允许 orchestrator 包与测试包通信来解析 'no tests found'
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="your.package.name">
<!-- This Manifest will only apply changes to androidTest builds -->
<queries>
<package android:name="androidx.test.orchestrator.OrchestratorService"/>
</queries>
<application android:forceQueryable="true" />