如何在JUNIT中将字符串不为空检查

时间:2018-07-05 20:19:01

标签: java unit-testing junit mockito

我在下面的代码中为他编写单元测试。但是以下代码行缺少相关内容。我不确定如何涵盖以下几行。我的研究没有帮助。

public DetailsResponse mapRow(ResultSet resultSet, int num) throws SQLException {
    DetailsResponse DetailsResponse = new DetailsResponse();
    String[] responseElements = null;
    String response = resultSet.getString(1);
    //coverage missing for below line
    if (response != null && response.indexOf(",") != -1) {
        responseElements = response.split(",");
    }
    //coverage missing for below line
    if (responseElements != null && responseElements.length > 0) {
      //coverage missing for below line
        String id = StringUtils.isNotBlank(responseElements[0]) ? responseElements[0].replace("(", "") : "";

覆盖范围内缺少注释行。如何测试它们?

1 个答案:

答案 0 :(得分:2)

由于这是一个公共方法,并且您尝试编写单元测试而不是集成测试,因此可以简单地设置一个ResultSet对象。这样做时,您可以设置对象,以便同时覆盖这两个条件。

@Test
public void test(){
   // SETUP
   ResultSet resultSet = // setup ResultSet to return what looks like a comma separated list.
   // TEST
   DetailsResponse out = service. mapRow(resultSet, someNum);
   // VERIFY / ASSERT
   // some assert(s) on out
}