考虑一个 Spring (Boot) 应用程序,该应用程序在调用其服务时将文件生成到输出文件夹。我正在尝试使用 JUnit Jupiter 测试这种功能,但我希望在测试后丢弃生成的文件,这就是我目前尝试使用@TempDir
. 它似乎完全符合我的要求,但我正在努力指示我的 Spring 上下文将生成的文件发送到临时目录。
我的服务.java
@Service
public class MyService {
@Value("${myservice.output-directory}")
private String outputDirectory;
public void generateOutputFiles() {
// ...
}
}
MyServiceTest.java
@SpringBootTest
class MyServiceTest {
@TempDir
protected static Path outputDirectory;
@Autowired
private MyService myService;
@Test
void test1() {
// ...
}
}
因此,我的问题是,是否有一种干净的方法可以将myservice.output-directory
属性设置为临时目录的绝对路径?