AndroidJUnit4.class 已弃用:如何使用 androidx.test.ext.junit.runners.AndroidJUnit4

作者:编程家 分类: android 时间:2025-10-24

使用 androidx.test.ext.junit.runners.AndroidJUnit4 进行 Android 单元测试

在过去,我们在进行 Android 单元测试时经常使用 AndroidJUnit4.class。然而,根据最新的 Android 开发者指南,AndroidJUnit4.class 已被弃用。现在,Google 推荐使用 androidx.test.ext.junit.runners.AndroidJUnit4 进行 Android 单元测试。本文将介绍如何迁移您的测试代码到新的 AndroidJUnit4。

首先,确保您的项目已经迁移到 AndroidX。如果您的项目还没有迁移到 AndroidX,您需要先进行迁移。迁移步骤可以在 Android 开发者文档中找到。

在迁移完成后,您需要在 build.gradle 文件中更新测试依赖项。将原来的依赖项 androidTestImplementation 'com.android.support.test:runner:1.0.2' 替换为 androidx.test.ext:junit:1.1.1。更新后的依赖项如下所示:

androidTestImplementation 'androidx.test.ext:junit:1.1.1'

接下来,您需要更新测试类的注解。找到您的测试类,并将 @RunWith(AndroidJUnit4.class) 注解替换为 @RunWith(AndroidJUnit4ClassRunner.class)。更新后的代码如下所示:

java

@RunWith(AndroidJUnit4ClassRunner.class)

public class ExampleInstrumentedTest {

// Your test code goes here

}

完成以上步骤后,您的测试代码已经成功迁移到 androidx.test.ext.junit.runners.AndroidJUnit4。现在,您可以运行您的测试代码,并确保一切正常。

案例代码

为了更好地理解如何迁移测试代码,下面是一个简单的示例。假设您有一个 Calculator 类,其中包含一个 add 方法,用于将两个整数相加。您希望编写一个测试用例来验证 add 方法的正确性。

首先,让我们创建一个 Calculator 类:

java

public class Calculator {

public int add(int a, int b) {

return a + b;

}

}

接下来,我们创建一个测试类来测试 Calculator 类的 add 方法:

java

import org.junit.Test;

import org.junit.runner.RunWith;

import androidx.test.ext.junit.runners.AndroidJUnit4ClassRunner;

@RunWith(AndroidJUnit4ClassRunner.class)

public class CalculatorTest {

@Test

public void testAdd() {

Calculator calculator = new Calculator();

int result = calculator.add(2, 3);

assertEquals(5, result);

}

}

在上面的示例中,我们使用了新的 @RunWith(AndroidJUnit4ClassRunner.class) 注解来替换原来的 @RunWith(AndroidJUnit4.class) 注解。

现在,您可以运行这个测试用例,并确保 add 方法的结果是正确的。

在本文中,我们介绍了如何使用 androidx.test.ext.junit.runners.AndroidJUnit4 进行 Android 单元测试。首先,我们需要迁移项目到 AndroidX,并更新测试依赖项。然后,我们需要更新测试类的注解。最后,我们提供了一个简单的示例来帮助您理解如何迁移测试代码。希望这篇文章能帮助您顺利迁移您的测试代码,并能够更好地进行 Android 单元测试。