【发布时间】:2019-10-01 11:36:17
【问题描述】:
我有一个依赖于环境变量的类。我想用一个模拟环境变量来测试它。
我认为一个好的结构是在 Spring Boot 中注入依赖,然后在测试环境中模拟它。我如何做到这一点?
例如下面的代码:
@Component
public class ProcessorClass implements Processor {
public String readFile(String fileName) throws IOException {
String fileOut;
String path = Environment.getVariable("READ_PATH");
fileOut = new String(Files.readAllBytes(Paths.get(path + fileName)));
return fileOut
我将如何注入 READ_PATH 以便我可以在 JUnit5 中模拟它。
Environment 是一个假类,当前返回来自System.getenv("...") 的值
谢谢。
【问题讨论】:
-
考虑实现一个仅与
test配置文件一起使用的假类。您将避免尝试模拟环境变量,并且更容易让类以您想要的方式运行。 -
请你提供一个例子吗?
标签: java spring-boot testing