【发布时间】:2014-12-27 13:54:16
【问题描述】:
嗨,我有很多方法可以返回我需要进行单元测试的字符串。现在对我来说挑战是如何进行代码覆盖?例如我的方法如下所示
Public String getSqlToDoXYZ(Myconfig config) {
StringBuilder sb = new StringBuilder() ;
sb.append( "SELECT BLAH BLAH");
sb.append("WHERE ABC="+config.getABC());
return sb.toString() ;
}
请给出您的想法如何对这种场景进行单元测试?我正在使用 mockito 进行单元测试。我对模拟和单元测试都是新手,请指导。提前致谢。
【问题讨论】:
-
附带说明,您应该真正使用准备好的语句,而不是将参数连接到 SQL 中。
-
您好,感谢您的意见。我不能使用准备好的语句,因为所有这些都是固定查询,并且在运行时会发生变化,最重要的是它们是普通的 sql,不应该作为准备好的语句执行。
-
您可以在运行时更改语句(参见“为 PreparedStatement 参数提供值”部分),这将帮助您避免 SQL 注入。
标签: java unit-testing mockito junit4