单元测试代码
@SpringBootTest
@AutoConfigureMockMvc
public class TrialQuestionTest {
@Autowired
private MockMvc mockMvc;
@Value("${test.token}")
private String token;
@Value("${test.language}")
private String language;
@Test
void contextLoads() throws Exception {
//新增
Long id = add();
//分页列表
// pageList();
// //修改
// update(id);
// //查看详情
// getDetail(id);
// //批量删除
// delete(Collections.singletonList(id));
}
/**
* 新增
* @throws Exception
*/
@Test
Long add() throws Exception {
String body = "{\n" +
" \"questionDescribe\": \"This is a test question\",\n" +
" \"questionOption\": \"A,B,C,D\",\n" +
" \"questionType\": 2,\n" +
" \"sort\": 20\n" +
"}";
String content = mockMvc.perform(MockMvcRequestBuilders.post("/trialQuestion")
.contentType(MediaType.APPLICATION_JSON)
.content(body)
.header("TOKEN", token).header("accept-language", language)
.accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(print())
.andReturn().getResponse().getContentAsString();
Map map = (Map) JSONObject.parseObject(content, RestData.class).getData();
return Long.parseLong(String.valueOf(map.get("id")));
}
/**
* 分页列表
* @throws Exception
*/
@Test
void pageList() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/trialDatabase/page")
.param("current", "1")
.param("size", "30")
// .param("filterRule", "1")
// .param("filterValue","Gale")
// .param("providerId", "41")
.contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON)
.header("TOKEN", token).header("accept-language", language))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(print());
}
- 执行contextLoads()方法的时候是没问题的。
- 当想单独执行add()方法时就出现了No tests were found这个错误。
- 然后我试着将add()方法返回值改成void,执行成功。
- 又试了一下将方法定义为private,同样报错。
由此可得出:
- @Test注解的单元测试方法 不能有返回值 ,要用 void 。
- 方法定义为 private 的也不行,必须为 public (默认)。
文章来源地址https://www.toymoban.com/news/detail-515612.html
文章来源:https://www.toymoban.com/news/detail-515612.html
到了这里,关于Junit测试运行出现No tests were found的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!