Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JUNIT中执行字符串非空检查_Java_Unit Testing_Junit_Mockito - Fatal编程技术网

Java 如何在JUNIT中执行字符串非空检查

Java 如何在JUNIT中执行字符串非空检查,java,unit-testing,junit,mockito,Java,Unit Testing,Junit,Mockito,我正在为下面的代码编写单元测试。但下面几行代码的覆盖范围缺失。我不知道怎样才能涵盖以下内容。我的研究没有帮助 public DetailsResponse mapRow(ResultSet resultSet, int num) throws SQLException { DetailsResponse DetailsResponse = new DetailsResponse(); String[] responseElements = null; String res

我正在为下面的代码编写单元测试。但下面几行代码的覆盖范围缺失。我不知道怎样才能涵盖以下内容。我的研究没有帮助

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("(", "") : "";

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

由于这是一个公共方法,并且您正在尝试编写单元测试,而不是集成测试,因此您可以简单地设置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
}

由于这是一个公共方法,并且您正在尝试编写单元测试,而不是集成测试,因此您可以简单地设置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
}

您需要模拟resultSet以返回不同的值,以便可以测试所有选项:
response==null
response
包含逗号,response不包含逗号,response以逗号开头您需要模拟resultSet以返回不同的值,以便可以测试所有选项:
response==null
响应
包含逗号,响应不包含逗号,响应以逗号开头