JUnit——Java单元测试框架
促进“先写测试后编码”理念。
一、特点:
- JUnit 是一个开放的资源框架,用于编写和运行测试。
- 提供注释来识别测试方法。@test表示将一个普通方法修饰成一个测试。
- 提供断言来测试预期结果。
- 提供测试运行来运行测试。
- JUnit 测试允许你编写代码更快,并能提高质量。
- JUnit 在一个条中显示进度。如果运行良好则是绿色;如果运行失败,则变成红色。根据测试需要选择启动类。
Spring Boot中使用Junit:
使用前需引入相关依赖:
加入相关注解:
常用单元测试的注解:
- @Test:将一个普通方法修饰成一个测试方法
- @Test(excepted=xx.class): xx.class 表示异常类,表示测试的方法抛出此异常时,认为是正常的测试通过的
- @Test(timeout = 毫秒数) :测试方法执行时间是否符合预期
- @Before:会在每一个测试方法被运行前执行一次
- @After:会在每一个测试方法运行后被执行一次
- @Ignore:所修饰的测试方法会被测试运行器忽略
- @RunWith:可以更改测试运行器 org.junit.runner.Runner
MockMvc类模拟和测试HTTP请求:
- 增加类注解:@AutoConfigureMockMvc
- 注入一个MockMvc类
- 相关API:
perform:执行一个RequestBuilder请求
andExpect:添加ResultMatcher->MockMvcResultMatchers验证规则
andReturn:最后返回相应的MvcResult->Response
org.junit.Assert 类:
- void assertEquals(boolean expected, boolean actual):检查两个变量或者等式是否平衡
- void assertFalse(boolean condition):检查条件是假的
- void assertNotNull(Object object):检查对象不是空的
- void assertNull(Object object):检查对象是空的
- void assertTrue(boolean condition):检查条件为真
- void fail():在没有报告的情况下使测试不通过