问题标签 [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.
android-studio - 在 Android Studio 中运行检测测试而不模拟用户操作
我已经编写了一些操作 MotionEvent 实例的代码,并想为它编写一个单元测试。
单元测试只需要验证我的操作;它不需要模拟任何用户操作。
我知道它需要是一个仪器测试才能使用 MotionEvent 的方法;我需要实际的方法,而不是任何嘲笑。
我在目录 src/androidTest/... 中定义了一个检测测试;但是,它仍然抛出异常
java.lang.RuntimeException:在 android.view.MotionEvent 中获取的方法未模拟。
我的模块 build.gradle 文件包含以下条目:
我的测试类中的导入如下:
我怎样才能运行这个测试?
kotlin - 如何模拟 SQLiteOpenHelper
我试图在检测测试中模拟一个 SQLiteOpenHelper 类,所以每当任何片段试图从数据库中获取信息时,它都会返回一个通用结果。但是,我不断收到错误消息:
org.mockito.exceptions.base.MockitoException:无法模拟/监视类 com.example.cleaningschedule.helpers.DatabaseHandler Mockito 无法模拟/监视,因为:
- com.example.cleaningschedule.ToDoListInstrumentedTest.oneTask(ToDoListInstrumentedTest.kt:81) 的最后一节课
测试类是:
我要模拟的课程是:
我查看了其他几个类似的问题,但没有一个有帮助:
- 错误模拟持有对 SQLiteOpenHelper 的引用的类
- 使用 mockito 库在 java 中模拟最终类- 我在导入 PowerMock 时遇到了很多问题
- 如何使用 mockito 模拟最终类- 我添加了依赖项并使用
mock-maker-inline
答案中建议的行创建了文件,但我仍然遇到相同的错误。我也尝试了建议的答案,Mockito.mock(SomeMockableType.class,AdditionalAnswers.delegatesTo(someInstanceThatIsNotMockableOrSpyable))
但这给了我一个“没有足够的信息来推断类型变量 T”错误 - 使用 Mockito 2 模拟最终课程
- Mockito 无法模拟/监视,因为:Final Class
- 无法模拟/监视类 java.util.Optional
android - 测试文本是否被删除
在 Android 仪器测试中,我想检查在选择复选框时,复选框将Paint.STRIKE_THRU_TEXT_FLAG
绘制标志应用于文本。有没有办法检查文本的油漆标志?
正在测试的代码是:
android - 在浓缩咖啡测试期间查看
我正在尝试检查在仪器测试期间视图当前具有哪些绘制标志。我试图通过在测试期间访问视图然后查看其绘制标志来做到这一点。我努力了
但这会创建视图交互。我已经看到其他类似的问题建议使用activityRule.activity.findViewById()
,但视图确实具有以编程方式创建的 ID。
java - Android 仪器测试中的 Dagger 2 注入
我正在尝试在我的 Android 仪器测试中将 Dagger 2 用于 DI。它适用于主应用程序组件中的类/活动/片段,但我的测试组件似乎缺少一些我找不到的绑定。任何关于如何去做的想法都将不胜感激。我的代码如下所示:
AssetRepositoryTest
运行仪器测试我得到以下异常:
而dagger相关代码如下:
测试组件
测试持久性模块
测试室模块
测试应用
除此之外,我有一个自定义AndroidJUnitRunner
扩展类,它覆盖该newApplication
方法并TestApplication
为测试用例返回一个实例。
我AssetRepositoryImpl
的如下:
AssetRepositoryImpl
我没有在此处粘贴的类@Inject
在其构造函数中具有注释,并且此代码在具有各自主要模块和组件的主应用程序中正常工作。
作为最后的想法,AssetRepositoryTest.PopulatedDatabaseInstace
由 JUnit 实例化的 . 因此不是由 Dagger 实例化的,据我所知,这似乎是这里的问题。
如何告诉 Dagger 如何将这些字段注入到我的 JUnit 测试类中?
testing - 如何在 Jetpack Compose 中使用 Rotation Change 测试 rememberSaveable
我正在使用 Android Studio 北极狐,并尝试测试使用 rememberSaveable 存储的变量的行为。我通过在模拟器中执行“向左旋转”手动进行了测试。那里的行为与预期的一样:使用存储的值remember
消失了。使用存储的值rememberSaveable
仍然可用。现在我想摆脱手动测试并创建一个 Instrumented 测试。但是我没有得到预期的结果。在测试中,这两个值都显示在我的输出文本字段中。我试图通过添加来获得正确的行为,waitForIdleSync()
但它没有帮助。
我认为这可能与“设置”方向有关。当我在测试用例中遗漏的方向发生变化时,系统可能会调用一种方法。但我不知道我错过了什么方法以及如何在我的测试中调用该方法。
android - 自动化测试 - 使用相机意图开始录制
我有一个应用程序,我正在尝试在其上编写一些仪器测试。该应用程序的一个功能是一个按钮,单击该按钮会打开手机的默认相机意图以录制视频。它是通过启动意图 ACTION_VIDEO_CAPTURE 来完成的。打开该意图后,用户可以录制视频,完成后,他将被重定向到我的活动,该活动将使用一些 API 上传视频并打开一个 Toast 向用户解释视频已上传(或未上传)。
现在,我想编写一个仪器测试来测试该类。我可以轻松按下按钮打开默认的相机意图,但在此之后我被卡住了。如何自动开始录制,几秒钟后停止录制,然后按“确定”按钮返回我的活动?这甚至可以使用 Espresso 或任何其他库吗?
android - 有什么解决方案可以解决android上的仪器测试
我正在尝试instrumented test
使用测试实验室在 android studio 上执行,我的项目是使用开发react native
并导入到 android studio 中的,我使用espresso
. 整个过程挂起:
我已经尝试了这些步骤:
- 停止所有正在运行的进程
- 构建不同变体的 APK
测试并没有比这更进一步。请帮我
android - Android 如何获取仪器测试的 XML 输出
对于我的 Android 应用程序的 CI 测试,我编写了一些单元测试并让它们从终端通过 gradle 运行。它们都在build/test-results文件夹中生成典型的 junit XML 输出文件,如下所示:
这就是我需要的。但是,一些测试必须是仪器测试,当我运行测试时(例如 via ./gradlew :core:connectedCheck
),我只能得到人类可读的输出。
这些文件也在build/reports/androidTests/connected的不同文件夹中,包含 html 和 css 文件。但是看不到机器可读的 XML 文件。
我找到了一些第三方脚本和工具,但我希望对我的 gradle 文件或类似文件进行简单配置。
关于如何获得仪器测试的 XML 输出的任何想法?