问题标签 [instrumented-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
648 浏览

java - Android 检测测试抛出异常:Activity 永远不会变为请求状态“[RESUMED, DESTROYED, STARTED, CREATED]”

这是测试的最短变体:

它抛出一个异常:

java.lang.AssertionError: Activity 永远不会变为请求状态“[RESUMED, DESTROYED, STARTED, CREATED]”(最后一个生命周期转换 =“PRE_ON_CREATE”)

手机型号:小米红米9

MIUI版本:MIUI Global 11.0.7 Stable 11.0.7.0(QJCRUXM)

安卓版本:10 QP1A.190711.020

Android安全补丁级别:2020-09-01

已建立的解决方案/解决方法:

你应该禁用(默认启用)

设置->附加设置->开发者选项->开启MIUI优化

0 投票
1 回答
13 浏览

android - 如何在不使用 Android 名称的情况下加载所有测试资源?

在我的androidTest/resources目录中,我有数百张图片。我想循环阅读所有这些并针对特定功能进行测试。我不想使用他们的名字,因为我经常不认识他们。是否有可能通过正则表达式加载或遍历目录?

0 投票
1 回答
1223 浏览

android - 新的 MockWebServer 因 java.lang.NoClassDefFoundError (TaskRunner$RealBackend) 而失败

我正在尝试使用 okhttp3.mockwebserver.MockWebServer 在 Android 上进行一些测试。这就是我的 build.gradle (:app) 文件中用于仪器测试的内容:

这是我在 andoidTest/java 文件夹中的 java 文件:

这是我看到的例外:

0 投票
1 回答
443 浏览

android - Android中的基本测试NavigationController

我目前是测试新手,所以我决定从一些基本的东西开始。

我从连接到Activity的DrawerLayout处理所有导航。

因此,对于我的测试,我启动了一个 ActivityScenarioRule,创建了一个 testNavController 对象,然后将此 testNavController 设置为处理导航的当前视图(容器片段)。

所以测试包括打开抽屉点击菜单项(将导航到片段),因此检查是否导航到片段。

然后我检查是否发生了这种情况,但是testNavController 停留在同一个目的地,这很奇怪,因为它执行了点击,所以我决定检查 navController (活动中的真实控制器)它向我显示导航到正确的片段.

这是所需的代码:

在示例中,他们使用了 Fragment,他们在 Fragment 启动时设置了 fragment.requireView(),但我认为它完全一样。

我在这里做错了什么?

0 投票
1 回答
151 浏览

android - 如何在 bitbucket 管道中实现 android espresso 测试?

我正在我的 android 项目中实现 CI,但我无法将我的 Android espresso 测试放在管道中运行。有谁能够帮我?

0 投票
1 回答
151 浏览

android - Android 测试:java.lang.ClassNotFoundException

我创建了这个 android 测试:

我有这个gradle配置:

当我运行我的测试时,我有这个错误:

$ adb shell am instrument -w -r -e debug false -e class 'fr.tisseo.android.repository.productlocalization.tests.TodeleteTest' fr.tisseo.android.debug.test/androidx.test.runner.AndroidJUnitRunner 连接到在设备“google-pixel_3-89KX0AP57”上处理 27190。

开始运行测试

java.lang.ClassNotFoundException:fr.tisseo.android.repository.productlocalization.tests.TodeleteTest

我在实施过程中遗漏了什么?

0 投票
0 回答
71 浏览

java - Android Instrumented 测试 - 模拟位置不起作用(尽管设置了 testLocation,但返回 null)

我的应用程序运行良好,但现在我必须测试一个通过 LocationManager 获取位置的类,所以我决定在清单中激活模拟位置:

我还在模拟器(开发设置)上激活了模拟位置。这是我使用 LocationManager 的方法:

这是我的测试课:

}

出于某种原因,“返回 locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);” 在 getCurrentLocation() 中始终返回 null(不抛出异常,并且授予权限)。

当我启动我的应用程序时它可以工作,但是当我尝试在测试中模拟位置,甚至在不模拟位置的情况下尝试它时,LocationManager 没有找到任何位置(虽然激活模拟位置有效 -> 没有抛出异常,只是经理赢了'不检测任何位置)。

我什至可以模拟仪表测试的位置并使用 getLastKnownLocation 返回它吗?我该怎么做才能让它发挥作用?

0 投票
1 回答
58 浏览

android - 如何在测试类的仪器测试中设置顺序?

我想为测试类设置一个订单。

我想测试 ATest.test0000 -> ATest.test0001 -> BTest.test0002 -> BTest.test0003

因为 ATest 类必须在 B Test 之前进行测试。我怎样才能做到这一点?可能吗?

0 投票
0 回答
22 浏览

android - 为自定义构建类型(非调试)创建覆盖率报告不起作用

也许我遗漏了一些东西,但我找不到任何文档。我们有 3 种构建类型debugqarelease。该createDebugCoverageReport任务工作正常,但createQaCoverageReport任务没有。它完成了,但没有实际运行任何检测测试。我猜这是故意的,但有任何文档吗?

0 投票
2 回答
559 浏览

android - android jetpack 导航仪器测试在返回导航上失败

我使用 jetpackNavigation组件 ( androidx.navigation) 创建了一个简单的两个片段示例应用程序。第一个片段导航到第二个片段,它使用OnBackPressedDispatcher.

活动布局

片段A:


片段B:


当我手动测试应用程序时,FragmentB 中后退按钮的预期行为(第一次触摸更改文本而不导航,第二次导航返回)工作正常。我添加了仪器测试来检查 FragmentB 中的后退按钮行为,这就是问题开始出现的地方:

不幸的是,虽然whenButtonClickedTwice_NavigationHappens通过,但whenButtonClickedOnce_TextChangedNoNavigation由于文本未更改而失败,就像OnBackPressedCallback从未调用过一样。由于应用程序在手动测试期间运行良好,因此测试代码肯定有问题。谁能帮我 ?