在Android开发过程中,我们往往忽略了单元测试功能, 主要还能还是大家觉得 真机在手,运行调试特别直观。
不过如果我们能够养成单元测试的习惯,相信能更加提升我们应用开发的速度。
当我们创建一个Android Studio项目时,我们会发现项目结构中,多了一个test目录 src/test/java 这个目录,就是AS为了方便我们进行单元测试,而帮我们创建的目录。当然,我们也可以自己进行创建。同时,build.gradle中,还需要添加Junit测试依赖。
1. dependencies {
2. compile fileTree(include: ['*.jar'], dir: 'libs')
3. testCompile 'junit:junit:4.12'
4. }
下面,就来创建一个简单的Junit单元测试。
image首先,我们需要在测试目录,创建一个测试类,这里我们创建的是Calculator运算类
1. package com.example.a1.myapplication;
3. /**
4. * Created by 1 on 2017/8/21.
5. */
7. public class Calculator {
8. public double sum(double a, double b){
9. return a+b;
10. }
12. public double substract(double a, double b){
13. return a-b;
14. }
16. public double divide(double a, double b){
17. return a/b;
18. }
20. public double multiply(double a, double b){
21. return a*b;
22. }
23. }
在该类中,我们写了加减乘除4个方法,然后,我们需要点击类名,右键/goto/test 生成测试类
image这时,在当前目录下,我们会生成一个CalculatorTest测试类
1. package com.example.a1.myapplication;
3. import org.junit.Before;
4. import org.junit.Test;
6. import static org.junit.Assert.*;
8. /**
9. * Created by 1 on 2017/8/21.
10. */
11. public class CalculatorTest {
12. private Calculator mCalculator;
13. @Before
14. public void setUp() throws Exception {
15. mCalculator = new Calculator();
16. }
18. @Test
19. public void sum() throws Exception {
20. assertEquals(6d, mCalculator.sum(1d, 5d), 0);
21. }
23. @Test
24. public void substract() throws Exception {
25. assertEquals(2d, mCalculator.substract(5d, 4d), 0);
26. }
28. @Test
29. public void divide() throws Exception {
30. assertEquals(3d, mCalculator.divide(20d, 5d), 1);
31. }
33. @Test
34. public void multiply() throws Exception {
35. assertEquals(12d, mCalculator.multiply(2d, 5d), 1);
36. }
38. }
在该类中,setUp方法用来实例化我们的需要测试类,然后,在加减乘除方法调用assertEquals()方法,来计算测试结果,第一个参数,需要填入正确结果,第二个参数为
我们的方法调用,第三个参数为允许误差值。 这里,我们给第一个的参数正确,第二个计算结果错误 第三个计算结果在误差值内,第四个结果没在误差值之外
image最后,右键点击运行该类。
运行完成后,我们就可以在信息中查看运行结果,
image
网友评论