问题标签 [android-junit]
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.
android - 如果过滤在子项目中没有返回任何测试,则不要失败测试
我connectedDebugAndroidTest
失败了
com.android.builder.testing.ConnectedDevice > 未找到测试。[SM-A310F - 7.0] 失败
未找到任何测试。这通常意味着您的测试类不是您的测试运行程序所期望的形式(例如,不要从 TestCase 继承或缺少 @Test 注释)。
这里的问题是我
- 在有两个子项目的父项目上执行任务
:lib
,:mobile
并且 - 使用过滤器(注释)运行仪器测试。
当我在父项目上运行时,子项目一个接一个地被测试。过滤器确实找到要运行的测试,:lib
但没有满足过滤器的测试:mobile
。这对我来说完全没问题,但是测试和 CI 失败了。
如果没有找到测试,我如何指示测试不失败(特别是在找到测试的情况下,但不是在每个子项目中)
我当前的 gradle 调用是这样的:
实际上,我使用了自定义注释,但它的用途与@FlakyTest
我刚刚测试的目的相同,以排除自定义注释的问题。
从同一仪器日志中摘录的相关摘录是:
处理第一个子项目的部分:
处理第一个子项目的部分:
java - 自定义运行器类 AndroidJUnit4 应该有一个带有签名 AndroidJUnit4(Class testClass) 的公共构造函数”
我正在尝试创建一个特权 apk 并更新了我的 Android.mk 以将特权模块设置为 true。我的 apk 是在 linux 版本上编译的,而不是使用 Android Studio。我的测试代码中也有以下内容
当我将我的 apk 推送到目标并尝试执行它时,看到了 junit4 错误
我的 Test.java 具有以下内容:
我的 testActivity.java 文件有以下内容:
我的 testRunner.java 有以下内容:
预期结果 测试成功完成并播放视频。但相反,我看到了错误
android - 迁移到 AndroidX 后,Gradle connectedCheck 失败并显示“未找到测试”
我正在开发一个多模块项目,在从支持库过渡到 AndroidX 后,./gradlew connectedCheck
失败了:
再往上一点,我看到这条消息:
这使得失败似乎是由测试 apk 在测试运行之前崩溃引起的。当我从 Android Studio 运行一个已连接的测试时,我看到了更多信息:
令我惊讶的是,由于我包含在应用程序级依赖项中AndroidJUnitRunner
,MonitoringInstrumentation
因此在路径上找不到:androidx.text:runner
build.gradle
我还确保我遵循https://developer.android.com/training/testing/set-up-project中列出的说明:
1)我的项目build.gradle
包括google()
存储库(说明确实说将其包含在应用程序级别build.gradle
中,但我假设allprojects
项目级别中存在不正确的给定build.gradle
?)
2)我的依赖项列在应用程序级别dependencies.androidTestImplementation
(见上文)
3)添加useLibrary 'android.test.runner'
到android
我的应用程序的部分build.gradle
4)添加<uses-library android:name="android.test.runner" android:required="false" />
到应用程序AndroidManifest.xml
(说明看起来可能不需要,因为我正在使用 gradle 运行测试)
作为参考,不包括整个测试,这是我的设置的说明性示例:
谁能帮我重新启动这些测试并运行?谢谢!
android - 使用 Espresso 时在 SearchView 上测试文本提交
如何SearchView
在androidTest中提交一些文本?
onView(withId(R.id.search_src_text)).perform(typeText("text"))
对我不起作用 - 应用程序在此行崩溃
androidx.test.espresso.NoMatchingViewException:层次结构中找不到匹配的视图:id:com.example.test:id/search_src_text
android - 运行测试时在 IntrumentationRegistry 上出现 ClassNotFoundException
我的应用程序中有一个实用程序类,它将用户数据从服务器保存到 SharedPreferences。我试图测试名为的实用程序类UserLocalStore.kt
我编写了以下测试类来做到这一点:
当我运行测试方法时,我得到一个ClassNotFoundException
. 我在这里做错了什么?
完整的错误信息如下:
我认为我的依赖项设置正确,因为我的项目应用程序级别中有以下测试依赖项build.gradle
:
android - 如果条件失败,如何跳过测试 Junit (Instrumentation) 测试 Android
我正在为设备测试编写测试用例,其中我必须检查一些 Wifi、消息、摄像头和音频 API,但前提是设备具有该功能
例子 :
但是只有当我的设备能够使用消息功能时,才应该执行此测试方法
仅当 isCapable 返回 true 时才应执行测试,否则应忽略或跳过它
如何编写这样的测试类
请有人帮助
android - 如何在方法内对新创建的对象进行单元测试?
我有PayWorkOrder()方法的PaymentPresenter。该方法接受一些参数并基于逻辑创建了两个新对象:
- Wo支付
- 支付请求
这是代码:
这是我的单元测试:
但它因以下堆栈跟踪而失败:
java.lang.NullPointerException 在 com.test.presentation.agreements.payment.PaymentPresenter.payWorkOrderInvoice(PaymentPresenter.java:168) 在 com.test.presentation.agreements.PaymentPresenterTest.shouldPayWorkOrderInvoice(PaymentPresenterTest.java:175) 在 sun.reflect。 NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method. java:498) at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68) at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:310) at org .junit.internal.runners。MethodRoadie$2.run(MethodRoadie.java:89) at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:97) at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.executeTest(PowerMockJUnit44RunnerDelegateImpl .java:294) at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTestInSuper(PowerMockJUnit47RunnerDelegateImpl.java:127) at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47Method.access$100 PowerMockJUnit47RunnerDelegateImpl.java:59) 在 org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner$LastRuleTestExecutorStatement.evaluate(PowerMockJUnit47RunnerDelegateImpl.java:148) 在 com.test.presentation.core.TrampolineSchedulerRule$1.evaluate(TrampolineSchedulerRule.java:21)
android - AndroidJUnit4ClassRunner 抛出 RuntimeException Android
我正在开发一个 Android 应用程序。我正在为 android 编写 Junit 测试,我是 Junit 测试用例的新手。
在应用程序内我有一个相对布局,点击我打开日期选择器对话框,一旦用户选择我在 TextView 中显示的日期。
我想用 Junit 测试这些操作。当我尝试运行测试用例时,它会抛出以下错误:
这是我的测试课:
我也试过这些代码在里面运行,runOnUiTHeard()
但问题仍然存在。
我也试过这些代码在里面运行,Handler()
但测试将继续运行,不显示任何输出
我错过了什么吗?
android - Mockito lenient() 何时使用
据我了解,使StrictStubbinglenient
引发的异常静音。基于此,不应该使用,可能只是在执行 TDD 时临时使用,因为严格的存根异常通常意味着您的代码要么错误,要么测试设计不当,要么您添加了不必要的行。lenient
是否存在lenient
实际需要或对测试有用的实际场景?