18.7.24
1.@Test: 测试方法
a)@Test(expected=XXException.class)如果程序的异常和XXException.class一样,则测试通过
b)@Test(timeout=100)如果程序的执行能在100毫秒之内完成,则测试通过
2.@Ignore: 被忽略的测试方法:加上之后,暂时不运行此段代码
3.@Before: 每一个测试方法之前运行
4.@After: 每一个测试方法之后运行
5.@BeforeClass: 方法必须要是静态方法(static 声明),所有测试开始之前运行,注意区分before,是所有测试方法
6.@AfterClass: 方法必须要是静态方法(static 声明),所有测试结束之后运行,注意区分 @After
注意:编写测试类的原则:
①测试方法上必须使用@Test进行修饰
②测试方法必须使用public void 进行修饰,不能带任何的参数
③新建一个源代码目录来存放我们的测试代码,即将测试代码和项目业务代码分开
④测试类所在的包名应该和被测试类所在的包名保持一致
⑤测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖
⑥测试类使用Test作为类名的后缀(不是必须)
⑦测试方法使用test作为方法名的前缀(不是必须)
参考:https://www.cnblogs.com/ysocean/p/6889906.html
————————
18.6.28
MockMvc的使用
MockMvc可以对我们的系统的Controller进行单元测试。
protected MockMvc mockMvc;
@Autowired
protected WebApplicationContext wac;
@Before() //这个方法在每个方法执行之前都会执行一遍
public void setup() {
mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); //初始化MockMvc对象
}
@Test
public void AllUrls() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/auth/permissions/management/AllUrls"))
.andExpect(MockMvcResultMatchers.status()
.isOk())
.andExpect(MockMvcResultMatchers
.jsonPath("errorCode")
.value("OK"));
}
参考:https://www.cnblogs.com/0201zcr/p/5756642.html
https://www.cnblogs.com/lyy-2016/p/6122144.html
————————————————
18.6.27
基础参考:https://www.jianshu.com/p/e43e56667d9d
JUnit Rule
JUnit自带给我们很多已经实现过好了的JUnit Rule,我们可以直接拿来用。比如Timeout,TemporaryFolder,等等。这些Rule的使用方法非常简单。定义一个这些类的public field,然后用@Rule修饰一下就好了。
参考:https://www.jianshu.com/p/2cd745e54a78
源码理解:https://www.cnblogs.com/caoyuanzhanlang/p/3534846.html
网友评论