【白盒测试】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;
    }
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值