Maven生命周期,测试
测试
-
Junit入门
-
单元测试
-
单元测试:就是针对最小的功能单元(方法),编写测试代码对其正确性进行测试。
-
JUnit:最流行的Java测试框架之一,提供了一些功能,方便程序进行单元测试(第三方公司提供)。
通过main方法是可以进行测试的,可以测试程序是否正常运行。但是main方法进行测试时,会存在如下问题:
-
入门程序
需求:使用JUnit,对UserService中的业务方法进行单元测试,测试其正确性。
断言
package com.itheima;import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;public class UserServiceTest {@Testpublic void testGetAge2(){Integer age = new UserService().getAge("110002200505091218");Assertions.assertNotEquals(18, age, "两个值相等");
// String s1 = new String("Hello");
// String s2 = "Hello";
// Assertions.assertSame(s1, s2, "不是同一个对象引用");}@Testpublic void testGetGender2(){String gender = new UserService().getGender("612429198904201611");Assertions.assertEquals("男", gender);}
}
Junit常见注解
注意beforeAll和afterAll是静态方法
参数化注解
package com.itheima;import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;@DisplayName("测试-学生业务操作")
public class UserServiceTest {@DisplayName("测试-获取年龄")@Testpublic void testGetAge(){Integer age = new UserService().getAge("110002200505091218");System.out.println(age);}@DisplayName("测试-获取性别")@Testpublic void testGetGender(){String gender = new UserService().getGender("612429198904201611");System.out.println(gender);}@DisplayName("测试-获取性别3")@ParameterizedTest@ValueSource(strings = {"612429198904201611","612429198904201631","612429198904201626"})public void testGetGender3(String idcard){String gender = new UserService().getGender(idcard);System.out.println(gender);}
}
输出
编写测试方法时,要尽可能的覆盖业务方法中所有可能得情况(尤其是边界值)
依赖范围
这样junit包只能在test中使用