RestController 中的属性在 Junit 中不可访问且为 Null

问题描述

当我为 Rest Controller 类运行我的 junit 时,Rest 控制器中的属性抛出 Nullpointer 异常。下面是我的示例代码。当我运行 TestingControllerTest calass 的 testFileStatus() 方法时,我收到 Nullpointer 异常。请帮助解决问题。任何建议为什么我无法访问该属性,即使它在 test application.properties 中可用。

enter image description here

@RestController
@CrossOrigin(origins = "*",allowedHeaders = "*")
public class TestingController {
    @Value("${file.dir.status}")
    private String fileDirectoryStatus;

    @GetMapping(value="/filedetails")
    public String getFileDetails(.....){
        if(fileDirectoryStatus.equalsIgnoreCase("true")) {         //NullpointerException in Junit test
        //code to process file
        }
    }
}

src/main/resources/application.properties:

file.dir.status=false

src/test/resources/application.properties:

file.dir.status=false
@SpringBoottest
@TestPropertySource(
locations = "classpath:resources/application.properties")
public class TestingControllerTest{
    @InjectMocks
    private TestingController testingController; 

    @Test
    public void testFileStatus() {
    String status=testingController.getFileDetails(...);
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)