📅  最后修改于: 2023-12-03 15:13:21.548000             🧑  作者: Mango
在 Android 开发中,为了保证代码的质量和稳定性,我们需要进行单元测试。本文将为大家介绍如何使用 Java 进行 Android 单元测试。
在建立单元测试之前,需要在 Gradle 中添加以下依赖:
dependencies {
testImplementation 'junit:junit:4.13.2'
testImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
在 Android 项目中,可以在 src/test/Java
目录下创建一个测试类。示例代码如下:
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import static junit.framework.Assert.assertEquals;
@RunWith(RobolectricTestRunner.class)
public class CalculatorTest {
private Calculator mCalculator;
@Before
public void setUp() {
mCalculator = new Calculator();
}
@Test
public void add() {
double result = mCalculator.add(1d, 2d);
assertEquals(3d, result);
}
@Test
public void subtract() {
double result = mCalculator.subtract(1d, 2d);
assertEquals(-1d, result);
}
@Test
public void multiply() {
double result = mCalculator.multiply(2d, 5d);
assertEquals(10d, result);
}
@Test
public void divide() {
double result = mCalculator.divide(12d, 3d);
assertEquals(4d, result);
}
}
在上面的代码中,我们使用 JUnit 框架进行测试。@RunWith(RobolectricTestRunner.class)
表示使用了 Robolectric 框架,@Test
表示这是一个测试方法。在 setUp
方法中,我们实例化了测试的 Calculator
类。
在每个测试方法中,我们使用 assertEquals
断言方法进行测试。如果实际值和期望值不相等,则会抛出 java.lang.AssertionError
异常。
在 Android Studio 中,右键点击测试类,选择“Run 'CalculatorTest' with Coverage”即可运行单元测试。如下图所示:
运行结果会在控制台中输出,例如:
Test running started
Finished running tests
通过输出的日志可以看出测试是否通过。
Android 单元测试能够提高代码质量和稳定性,降低维护成本。我们可以使用 Java 和 JUnit 等框架进行单元测试,从而保证代码的正确性。