Junit在开发中的使用
使用JUnit的步骤
-
在实际开发中,单元测试⼀般是由我们Java程序员来完成。我们要对我们⾃⼰写的每⼀个业务⽅法负责任,要保证每个业务⽅法在进⾏测试的时候都能通过。
- 测试的过程中涉及到两个概念:
- 期望值 ( 执行了这个业务方法之后,你期望的执行结果是多少 )
- 实际值( 被测试的业务方法的真正执行结果 )
- 期望值和实际值相同表示测试通过,期望值和实际值不同则单元测试执⾏时会报错。
- 引⼊JUnit不仅仅是为了代替main⽅法。JUnit是一个专⻔做单元测试的组件
- 测试的过程中涉及到两个概念:
-
使用JUnit的步骤
-
第⼀步:引⼊依赖
<!-- junit依赖 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>
-
第⼆步:编写单元测试类【测试⽤例】,测试⽤例中每⼀个测试⽅法上使⽤@Test注解进⾏标注
测试业务类
//数学业务类 public class MathService { //求和的业务方法 public int sum(int a, int b){ return a * 10 + b * 10; } //相减的业务方法 public int sub(int a, int b){ return a - b; } }
单元测试类
// 测试⽤例 public class MathServiceTest { // 测试⽤例名字规范:你要测试的类名+Test // @Test注解非常重要,被这个注解标注的方法就是一个单元测试方法。 @Test public void testSum(){ MathService mathService = new MathService(); // 获取实际值 int actual = mathService.sum(1, 2); // 期望值 int expected = 30; // 加断言进行测试 Assert.assertEquals(expected, actual); } @Test public void testSub(){ MathService mathService = new MathService(); // 实际值 int actual = mathService.sub(10, 5); // 期望值 int expected = 5; // 添加断言机制 Assert.assertEquals(expected, actual); } }
-
JUnit的使用细节
-
单元测试方法可以写多个。一般是一个业务方法对应一个测试方法。
-
测试⽤例的名字以及每个测试⽅法的定义都是有规范的
- 测试方法的规范: public void testXxxx(){} , 测试方法的方法名:以test开始。假设测试的方法是sum,这个测试方法名:testSum
- 测试⽤例的类名规范:你要测试的类名+Test
-
测试方法可以在类上执⾏,也可以在⽅法上执⾏
- 在类上执⾏时,该类中所有的测试⽅法都会执⾏。
- 在⽅法上执⾏时,只执⾏当前的测试⽅法。