准确的电话号码和 WhatsApp 号码提供商。 如果您想要电子邮件营销活动列表或短信营销活动,那么您可以联系我们的团队。

Jan 31, 2024
如何为 Android 开发编写测试

Android 应用程序的自动化单元测试对于其长期质量是必要的。单元测试有助于测试代码的一个单元(例如一个类)。这有助于在开发周期的早期发现和识别错误或回归。在本文中,我们将了解如何为 Android 应用程序编写单元测试。在 Android 中,单元测试可以有两种类型: 本地单元测试 – 在开发机器本身而不是实际机器上运行 仪表化单元测试——在实际的 Android 设备上运行。

使用 JUnit 创建单元测试并使用 Mockito 创建模拟对象 我们将首先为一个添加两个数字的 Android 应用程序创建本地单元测试。 该应用程序包含以下帮助程序类旦我们准备好应用程序,我们现在就有两个主要单元可以在代码中进行测试 NumberAdder – 这是一个普通的 Java 类,它将 MainActivity 作为依赖项。 MainActivity – 显示 UI 的活动。 由于NumberAdder是一个普通的 Java 类,因此可以使用Junit来测试此类。 JUnit 是一个用于编写可重复单元测试的简单框架。

使用 Roboelectric 编写测试

当我们测试一个单元(在本例中为 NumberAdder)时,可以模拟 NumberAdder 所依赖的所有其他类。Mockito是一个在 Java 中模拟依赖关系的好框架。要将 JUnit 和 Mockito 添加为项目中的测试依赖项,请将以下内容添加到  上面的代码创建了 WhatsApp 号码数据 三个测试,并用Test注解进行了注解。该测试使用 MockitoJUnitRunner 运行。该运行程序为每个用 注释的字段注入一个模拟对象。MainActivity 在上面的测试中被模拟。在前两个测试中,我们根据函数返回的值进行断言。在第三个测试中,我们设置调用 getFirstNumber 和 getSecondNumber 时要返回的值。然后我们验证 mMockMainActivity 上 setAdditionResult 方法的值是否正确。

一旦我们编写了这些本地 JUnit 测试,我们就可以使用 gradle 命令运行它们。如果所有测试都通过,则构建将成功;否则,构建将失败。 ./gradlew test 使用 Roboelectric 编写测试 Robolectric是 Android 的单元测试框架。使用 Roboelectric,您可以在工作站上的 JVM 上运行 Android 单元测试。这对于在工作站上对 Android 代码进行单元测试变得非常方便。

编写 Android Instrumentation 测试

如果未通过测试,构建可能会失败。 要将 Roboelectric 添加到您的测试依赖项,请按如下方式更新您的依赖项  在上面的测试中,我们创建了 MainActivityTest。它使用 RobolectricGradleTestRunner 运行。 然后我 电子邮件数据 们使用 Roboelectric API“Robolectric.setupActivity”来实例化该活动。它还调用其生命周期方法,如“OnCreate”、“onStart”等。然后我们获取活动中的不同视图元素并设置值。设置值后,我们单击按钮。然后我们最终使用“assertEquals”验证结果 TextView 是否具有适当的值。 如上面的示例所示,Roboelectric 可以轻松为 Android 代码编写单元测试。 编写 Android Instrumentation 测试 Android 允许您编写仪器单元测试。

这些是在实际 Android 设备上运行的测试。当您在实际设备上进行测试时,您不需要模拟 Android 类。通过仪器测试可以轻松测试 Android 组件(例如 Activity 等)。但问题是你需要一个实际的设备来运行测试。这些无法在您的工作站上运行它。 要添加检测,请更新 Gradle 依赖项,如下所示 。ActivityInstrumentationTestCase2 让我们为 Activity 编写测试。在此类的构造函数中,我们应该传递被测试的活动(在我们的例子中为“MainActivity”)。然后我们重写“setUp”方法,在该方法中我们获取活动对象和活动的其他 UI 元素。然后我们编写一个与上一节中编写的测试类似的测试。该测试有一个注释”。这将使该测试在 UI 线程上运行,因为我们在测试中有一些 UI 操作。

More Details