问题标签 [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 投票
1 回答
17 浏览

android-studio - 在 Android Studio 中运行检测测试而不模拟用户操作

我已经编写了一些操作 MotionEvent 实例的代码,并想为它编写一个单元测试。

单元测试只需要验证我的操作;它不需要模拟任何用户操作。

我知道它需要是一个仪器测试才能使用 MotionEvent 的方法;我需要实际的方法,而不是任何嘲笑。

我在目录 src/androidTest/... 中定义了一个检测测试;但是,它仍然抛出异常

java.lang.RuntimeException:在 android.view.MotionEvent 中获取的方法未模拟。

我的模块 build.gradle 文件包含以下条目:

我的测试类中的导入如下:

我怎样才能运行这个测试?

0 投票
1 回答
46 浏览

kotlin - 如何模拟 SQLiteOpenHelper

我试图在检测测试中模拟一个 SQLiteOpenHelper 类,所以每当任何片段试图从数据库中获取信息时,它都会返回一个通用结果。但是,我不断收到错误消息:

org.mockito.exceptions.base.MockitoException:无法模拟/监视类 com.example.cleaningschedule.helpers.DatabaseHandler Mockito 无法模拟/监视,因为:

  • com.example.cleaningschedule.ToDoListInstrumentedTest.oneTask(ToDoListInstrumentedTest.kt:81) 的最后一节课

测试类是:

我要模拟的课程是:

我查看了其他几个类似的问题,但没有一个有帮助:

0 投票
1 回答
36 浏览

android - 测试文本是否被删除

在 Android 仪器测试中,我想检查在选择复选框时,复选框将Paint.STRIKE_THRU_TEXT_FLAG绘制标志应用于文本。有没有办法检查文本的油漆标志?

正在测试的代码是:

0 投票
0 回答
91 浏览

android - 在浓缩咖啡测试期间查看

我正在尝试检查在仪器测试期间视图当前具有哪些绘制标志。我试图通过在测试期间访问视图然后查看其绘制标志来做到这一点。我努力了

但这会创建视图交互。我已经看到其他类似的问题建议使用activityRule.activity.findViewById(),但视图确实具有以编程方式创建的 ID。

0 投票
1 回答
76 浏览

android - 执行第一个 Android 检测测试时显示文件错误

在尝试执行 android 示例检测测试时出现以下错误。因为这是我第一次遇到错误的仪器测试。这是我的清单文件和 gradle 文件。Android 版本 3.4.1 java 版本“1.8.0_152”

刚接触android开发,感谢您的支持。

在此处输入图像描述

应用插件:'com.android.application'

//清单文件

0 投票
1 回答
244 浏览

java - Android 仪器测试中的 Dagger 2 注入

我正在尝试在我的 Android 仪器测试中将 Dagger 2 用于 DI。它适用于主应用程序组件中的类/活动/片段,但我的测试组件似乎缺少一些我找不到的绑定。任何关于如何去做的想法都将不胜感激。我的代码如下所示:

AssetRepositoryTest

运行仪器测试我得到以下异常:

而dagger相关代码如下:

测试组件

测试持久性模块

测试室模块

测试应用

除此之外,我有一个自定义AndroidJUnitRunner扩展类,它覆盖该newApplication方法并TestApplication为测试用例返回一个实例。

AssetRepositoryImpl的如下:

AssetRepositoryImpl

我没有在此处粘贴的类@Inject在其构造函数中具有注释,并且此代码在具有各自主要模块和组件的主应用程序中正常工作。

作为最后的想法,AssetRepositoryTest.PopulatedDatabaseInstace由 JUnit 实例化的 . 因此不是由 Dagger 实例化的,据我所知,这似乎是这里的问题。

如何告诉 Dagger 如何将这些字段注入到我的 JUnit 测试类中?

0 投票
0 回答
83 浏览

testing - 如何在 Jetpack Compose 中使用 Rotation Change 测试 rememberSaveable

我正在使用 Android Studio 北极狐,并尝试测试使用 rememberSaveable 存储的变量的行为。我通过在模拟器中执行“向左旋转”手动进行了测试。那里的行为与预期的一样:使用存储的值remember消失了。使用存储的值rememberSaveable仍然可用。现在我想摆脱手动测试并创建一个 Instrumented 测试。但是我没有得到预期的结果。在测试中,这两个值都显示在我的输出文本字段中。我试图通过添加来获得正确的行为,waitForIdleSync()但它没有帮助。

我认为这可能与“设置”方向有关。当我在测试用例中遗漏的方向发生变化时,系统可能会调用一种方法。但我不知道我错过了什么方法以及如何在我的测试中调用该方法。

0 投票
0 回答
66 浏览

android - 自动化测试 - 使用相机意图开始录制

我有一个应用程序,我正在尝试在其上编写一些仪器测试。该应用程序的一个功能是一个按钮,单击该按钮会打开手机的默认相机意图以录制视频。它是通过启动意图 ACTION_VIDEO_CAPTURE 来完成的。打开该意图后,用户可以录制视频,完成后,他将被重定向到我的活动,该活动将使用一些 API 上传视频并打开一个 Toast 向用户解释视频已上传(或未上传)。

现在,我想编写一个仪器测试来测试该类。我可以轻松按下按钮打开默认的相机意图,但在此之后我被卡住了。如何自动开始录制,几秒钟后停止录制,然后按“确定”按钮返回我的活动?这甚至可以使用 Espresso 或任何其他库吗?

0 投票
1 回答
54 浏览

android - 有什么解决方案可以解决android上的仪器测试

我正在尝试instrumented test使用测试实验室在 android studio 上执行,我的项目是使用开发react native并导入到 android studio 中的,我使用espresso. 整个过程挂起:

我已经尝试了这些步骤:

  • 停止所有正在运行的进程
  • 构建不同变体的 APK

测试并没有比这更进一步。请帮我

0 投票
0 回答
33 浏览

android - Android 如何获取仪器测试的 XML 输出

对于我的 Android 应用程序的 CI 测试,我编写了一些单元测试并让它们从终端通过 gradle 运行。它们都在build/test-results文件夹中生成典型的 junit XML 输出文件,如下所示:

这就是我需要的。但是,一些测试必须是仪器测试,当我运行测试时(例如 via ./gradlew :core:connectedCheck),我只能得到人类可读的输出。

这些文件也在build/reports/androidTests/connected的不同文件夹中,包含 html 和 css 文件。但是看不到机器可读的 XML 文件。

我找到了一些第三方脚本和工具,但我希望对我的 gradle 文件或类似文件进行简单配置。

关于如何获得仪器测试的 XML 输出的任何想法?