@RequestMapping("/getSUID/{pid}")
public List<StudyUID> index(@PathVariable("pid") String pid) {
System.out.println("pid"+pid);
String nquery=QueriesUtil.getQuery("STUDY_UID_TEST", true);
nquery=nquery.replace("<:PID>", pid);
System.out.println(nquery);
return jdbcTemplate.query(nquery, (rs, rowNum) -> new StudyUID(
rs.getInt("PERSON_ID"),
rs.getString("MODALITY"),
rs.getString("STUDY_UID"),
如何为其编写junit测试用例?我曾尝试使用 MockMvc,但仍然面临有关编写 @test 的错误。有没有人对我如何使用 JUnit 和 Mockito 实现这一目标有任何建议?
非常感谢您提前!
我在这里看到的问题之一是您的控制器正在完成所有工作 - 获取查询、设置、执行并返回 API 调用的结果。在一个地方完成所有这些事情使得测试变得困难。这也提出了一个问题——你到底想测试什么?你遇到了什么问题?
您可能需要考虑重构它以改用分层架构。API -> 服务层 -> 存储库层。
这可能是一个更清晰的结构,然后您可以独立测试层:
或者,您也可以进行集成测试 - 只需调用 API 并确保返回正确的结果。
此外,请注意在查询中使用字符串替换。而是查看 PreparedStatement ( https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html )。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句