JUnit是专⻔做单元测试的组件。一般是一个业务方法对应一个测试方法!
在实际开发中,单元测试⼀般是由我们Java程序员来完成的。
我们要对我们⾃⼰写的每⼀个业务⽅法负责任,要保证每个业务⽅法在进⾏测试的时候都能通 过。
测试的过程中涉及到两个概念: 期望值 和 实际值
期望值和实际值相同表示测试通过,期望值和实际值不同则单元测试执⾏时会报错。
这⾥引⼊JUnit是为了代替main⽅法。
⽤JUnit步骤: 第⼀步:引⼊依赖
<!-- junit依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
第⼆步:编写单元测试类【测试⽤例】,测试⽤例中每⼀个测试⽅法上使⽤@Test注解进⾏标注。 测试⽤例的名字以及每个测试⽅法的定义都是有规范的:
测试⽤例的名字:XxxTest
测试⽅法声明格式:public void test业务⽅法名(){}
// 测试⽤例
public class CarMapperTest{
// 测试⽅法
@Test
public void testInsert(){}
@Test
public void testUpdate(){}
}
第三步:可以在类上执⾏,也可以在⽅法上执⾏
在类上执⾏时,该类中所有的测试⽅法都会执⾏。
在⽅法上执⾏时,只执⾏当前的测试⽅法。 编写⼀个测试⽤例,来测试insertCar业务
@Test
public void testSum(){
/* 单元测试中有两个重要的概念:
一个是:实际值(被测试的业务方法的真正执行结果)
一个是:期望值(执行了这个业务方法之后,你期望的执行结果是多少)*/
MathService mathService = new MathService();
// 获取实际值
int actual = mathService.sum(1, 2);
//期望值
int expected = 30;
// 加断言进行测试 ,如果期望值和实际的值不一样的时候,则会出现java.lang.AssertionError:
Assert.assertEquals(expected, actual);
}
如果期望值和实际的值不一样的时候,则会出现java.lang.AssertionError: