AndroidStudio使用单元测试

创建第一个单元测试

img

向类中添加一些基本的算术运算方法,比如加法和减法。将下列代码复制到编辑器中。不用担心实际的实现,暂时让所有的方法返回0。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.example.testing.testingexample;

public class Calculator {

public double sum(double a, double b){
return 0;
}

public double substract(double a, double b){
return 0;
}

public double divide(double a, double b){
return 0;
}

public double multiply(double a, double b){
return 0;
}
}

Android Studio提供了一个快速创建测试类的方法。只需在编辑器内右键点击Calculator类的声明,选择Go to > Test,然后“Create a new test…”

img

在打开的对话窗口中,选择JUnit4和”setUp/@Before“,同时为所有的计算器运算生成测试方法。

img

这样,就会在正确的文件夹内(app/src/test/java/com/example/testing/testingexample)生成测试类框架,在框架内填入测试方法即可。下面是一个示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.example.testing.testingexample;

import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.*;

public class CalculatorTest {

private Calculator mCalculator;

@Before
public void setUp() throws Exception {
mCalculator = new Calculator();
}

@Test
public void testSum() throws Exception {
//expected: 6, sum of 1 and 5
assertEquals(6d, mCalculator.sum(1d, 5d), 0);
}

@Test
public void testSubstract() throws Exception {
assertEquals(1d, mCalculator.substract(5d, 4d), 0);
}

@Test
public void testDivide() throws Exception {
assertEquals(4d, mCalculator.divide(20d, 5d), 0);
}

@Test
public void testMultiply() throws Exception {
assertEquals(10d, mCalculator.multiply(2d, 5d), 0);
}
}

运行单元测试

右键点击CalculatorTest类,选择Run > CalculatorTest。也可以通过命令行运行测试,在工程目录内输入:

1
./gradlew test

无论如何运行测试,都应该看到输出显示4个测试都失败了。这是预期的结果,因为还没有实现运算操作。

img

修改Calculator类中的sum(double a, double b)方法返回一个正确的结果,重新运行测试。你应该看到4个测试中的3个失败了。

1
2
3
public double sum(double a, double b){
return a + b;
}

本文作者: Kyle

本文链接: https://zhutiankang.github.io

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

Kyle wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!