gpt4 book ai didi

java - 如何对返回 Java 字符串的方法进行单元测试?

转载 作者:行者123 更新时间:2023-12-01 17:03:08 24 4
gpt4 key购买 nike

我有很多返回字符串的方法,我需要对其进行单元测试。现在我面临的挑战是如何进行代码覆盖?例如,我的方法如下所示:

Public String getSqlToDoXYZ(Myconfig config) {
StringBuilder sb = new StringBuilder() ;
sb.append( "SELECT BLAH BLAH");
sb.append("WHERE ABC="+config.getABC());
return sb.toString() ;
}

我如何对这种情况进行单元测试?我正在使用 Mockito 进行单元测试。我对 Mockito 和单元测试都很陌生。

最佳答案

正如其他地方所指出的,对于 SQL 注入(inject)而言,使用字符串作为 SQL 语句是危险的。话虽这么说,您只需调用该方法,并将结果与​​您“手动”构建的字符串进行比较:

public void testBuildSqlToDoXYZ() throws Exception {

WhateverYourObjectIs yourObject = new WhateverYourObjectIs();
MyConfig myConfig = new MyConfig();
myConfig.setABC("foo");

String sql = yourObject.getSqlToDoXYZ(myConfig);
assertEquals("SELECT BLAH BLAH WHERE ABC='foo'", sql);

}

只有在这种情况下,如果您无法手动创建“MyConfig”对象,Mockito 才会有帮助。

您的代码中可能还有其他内容使这变得困难,但您并没有真正向我们提供足够的信息。

关于java - 如何对返回 Java 字符串的方法进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com