【白盒测试】Junit测试(一)

1 JUnit导包

JUnit是Java最基础的测试框架,主要的作用就是断言。

使用时需要在app的build.gradle文件里添加依赖,如下所示:

testImplementation "junit:junit:4.12"

使用testImplementation导入的包,则写的测试用例需要放在test里面,如下所示
1565874482639.png

使用androidTestImplementation导入的包,则写的测试用例需要放在androidTest里面。

2 Assert类中主要方法

方法名 方法描述
assertEquals 断言传入的预期值与实际值是相等的
assertNotEquals 断言传入的预期值与实际值是不相等的
assertArrayEquals 断言传入的预期数组与实际数组是相等的
assertNull 断言传入的对象是为空
assertNotNull 断言传入的对象是不为空
assertTrue 断言条件为真
assertFalse 断言条件为假
assertSame 断言两个对象引用同一个对象,相当于“==”
assertNotSame 断言两个对象引用不同的对象,相当于“!=”
assertThat 断言实际值是否满足指定的条件

注意:上面的每一个方法,都有对应的重载方法,可以在前面加一个String类型的参数,表示如果断言失败时的提示。

3 JUnit 中的常用注解

注解名 含义
@Test 表示此方法为测试方法
@Before 在每个测试方法前执行,可做初始化操作
@After 在每个测试方法后执行,可做释放资源操作
@Ignore 忽略的测试方法
@BeforeClass 在类中所有方法前运行。此注解修饰的方法必须是static void
@AfterClass 在类中最后运行。此注解修饰的方法必须是static void
@RunWith 指定该测试类使用某个运行器
@Parameters 指定测试类的测试数据集合
@Rule 重新制定测试类中方法的行为
@FixMethodOrder 指定测试类中方法的执行顺序

4 JUnit简单使用示例

在目录main/java/XXX/XXX下编写一个计算的类Calculater,该类有个add方法,代码如下:

package com.yds.mainmodule.fragment;

/**
 * Created by yds
 * on 2019/8/15.
 */
public class Calculater {
    public int add(int a,int b){
        return a+b;
    }
}

然后在test/java/XXX/XXX目录下编写一个测试用例,代码如下:

package com.example.mainmodule;

import com.yds.mainmodule.fragment.Calculater;

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

/**
 * Created by yds
 * on 2019/8/15.
 */
public class CalculaterTest {
    private Calculater calculater;
    private int a = 3;
    private int b = 4;
    private int sum = 7;
    @Before
    public void setUp(){
        calculater = new Calculater();
    }
    @Test
    public void testAdd(){
        Assert.assertNotNull(calculater);
        int result = calculater.add(a,b);
        Assert.assertEquals(sum,result);
    }
    @After
    public void tearDown(){
        calculater = null;
    }
}

结果与预期相等,用例通过。

发布了107 篇原创文章 · 获赞 142 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/u013293125/article/details/99656425