问题标签 [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.
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优化
android - 如何在不使用 Android 名称的情况下加载所有测试资源?
在我的androidTest/resources
目录中,我有数百张图片。我想循环阅读所有这些并针对特定功能进行测试。我不想使用他们的名字,因为我经常不认识他们。是否有可能通过正则表达式加载或遍历目录?
android - 新的 MockWebServer 因 java.lang.NoClassDefFoundError (TaskRunner$RealBackend) 而失败
我正在尝试使用 okhttp3.mockwebserver.MockWebServer 在 Android 上进行一些测试。这就是我的 build.gradle (:app) 文件中用于仪器测试的内容:
这是我在 andoidTest/java 文件夹中的 java 文件:
这是我看到的例外:
android - Android中的基本测试NavigationController
我目前是测试新手,所以我决定从一些基本的东西开始。
我从连接到Activity的DrawerLayout处理所有导航。
因此,对于我的测试,我启动了一个 ActivityScenarioRule,创建了一个 testNavController 对象,然后将此 testNavController 设置为处理导航的当前视图(容器片段)。
所以测试包括打开抽屉,点击菜单项(将导航到片段),因此检查是否导航到片段。
然后我检查是否发生了这种情况,但是testNavController 停留在同一个目的地,这很奇怪,因为它执行了点击,所以我决定检查 navController (活动中的真实控制器),它向我显示导航到正确的片段.
这是所需的代码:
在示例中,他们使用了 Fragment,他们在 Fragment 启动时设置了 fragment.requireView(),但我认为它完全一样。
我在这里做错了什么?
android - 如何在 bitbucket 管道中实现 android espresso 测试?
我正在我的 android 项目中实现 CI,但我无法将我的 Android espresso 测试放在管道中运行。有谁能够帮我?
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
我在实施过程中遗漏了什么?
java - Android Instrumented 测试 - 模拟位置不起作用(尽管设置了 testLocation,但返回 null)
我的应用程序运行良好,但现在我必须测试一个通过 LocationManager 获取位置的类,所以我决定在清单中激活模拟位置:
我还在模拟器(开发设置)上激活了模拟位置。这是我使用 LocationManager 的方法:
这是我的测试课:
}
出于某种原因,“返回 locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);” 在 getCurrentLocation() 中始终返回 null(不抛出异常,并且授予权限)。
当我启动我的应用程序时它可以工作,但是当我尝试在测试中模拟位置,甚至在不模拟位置的情况下尝试它时,LocationManager 没有找到任何位置(虽然激活模拟位置有效 -> 没有抛出异常,只是经理赢了'不检测任何位置)。
我什至可以模拟仪表测试的位置并使用 getLastKnownLocation 返回它吗?我该怎么做才能让它发挥作用?
android - 如何在测试类的仪器测试中设置顺序?
我想为测试类设置一个订单。
我想测试 ATest.test0000 -> ATest.test0001 -> BTest.test0002 -> BTest.test0003
因为 ATest 类必须在 B Test 之前进行测试。我怎样才能做到这一点?可能吗?
android - 为自定义构建类型(非调试)创建覆盖率报告不起作用
也许我遗漏了一些东西,但我找不到任何文档。我们有 3 种构建类型debug
,qa
和release
。该createDebugCoverageReport
任务工作正常,但createQaCoverageReport
任务没有。它完成了,但没有实际运行任何检测测试。我猜这是故意的,但有任何文档吗?
android - android jetpack 导航仪器测试在返回导航上失败
我使用 jetpackNavigation
组件 ( androidx.navigation
) 创建了一个简单的两个片段示例应用程序。第一个片段导航到第二个片段,它使用OnBackPressedDispatcher
.
活动布局
片段A:
片段B:
当我手动测试应用程序时,FragmentB 中后退按钮的预期行为(第一次触摸更改文本而不导航,第二次导航返回)工作正常。我添加了仪器测试来检查 FragmentB 中的后退按钮行为,这就是问题开始出现的地方:
不幸的是,虽然whenButtonClickedTwice_NavigationHappens
通过,但whenButtonClickedOnce_TextChangedNoNavigation
由于文本未更改而失败,就像OnBackPressedCallback
从未调用过一样。由于应用程序在手动测试期间运行良好,因此测试代码肯定有问题。谁能帮我 ?