java.lang.IllegalStateException:运行 Junit 测试用例时无法加载 ApplicationContext

时间:2021-07-30 16:22:17

标签: java postgresql spring-boot spring-mvc junit

已开发springboot项目,配置如下:

btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivity(i);

            }
        });

对嵌入式 redis 使用以下配置:

function searchColumn(searchTag) {
    var sourceSheet, targetValues;
    sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("salesforce_data");

    var column = 27; // asset tag column index

    targetValues = sourceSheet.getRange(2, column, sourceSheet.getLastRow()).getValues();
    //Logger.log(targetValues);

    var matchRow = [];
    const rows = sourceSheet.getDataRange().getValues();
    //Logger.log(rows);

    targetValues.forEach(function(value, index) {
      //Logger.log(value);
      if (value[0] === searchTag) {
        matchRow = rows[index+1];
      }
    });

    let info = []; // asset, serial, manufacturer, model
    info[0] = matchRow[26];
    info[1] = matchRow[23];
    info[2] = matchRow[21];
    info[3] = matchRow[22];
    Logger.log(info);

    return info;
}

在 controllertest.class 中添加以下注解并使用 mockito 模拟数据库连接。

   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.0.RELEASE</version>
        <relativePath />
    </parent>

如果我们单独运行每个 controllertest.class,那么所有的测试用例都会通过。

同时运行所有测试用例时,一个 controllertest.class 和测试用例在其余控制器测试类中传递低于错误。

<dependency>
   <groupId>com.github.kstyrc</groupId>
   <artifactId>embedded-redis</artifactId>
   <version>0.6</version>
</dependency>

1 个答案:

答案 0 :(得分:0)

在每个测试类上使用 @DirtiesContext 注释,因此它告诉测试框架关闭并重新创建上下文以供以后的测试使用。