将JUnit TemporaryFolder与SpringBoot配置属性结合使用

时间:2019-07-08 08:00:26

标签: java spring-boot junit4

在我的代码中,我得到了如下的value属性:

@Value("#{systemProperties['myapp.config.path'] ?: T(System).getProperty('java.io.tmpdir')}")
private String path;

在测试中,我想使用TemporaryFolder设置此值:

@ClassRule
public static TemporaryFolder temporaryFolder = new TemporaryFolder();

@BeforeClass
@SneakyThrows
public static void beforeClass() {
    System.setProperty("myapp.config.path", temporaryFolder.newFolder().getAbsolutePath());
}

但是,当我运行所有测试时,我遇到了错误:

java.io.UncheckedIOException: java.nio.file.AccessDeniedException: /tmp/systemd-private-eeb0ac8cecc64c6198f53f0516f93d29-systemd-timesyncd.service-UHYtZs

如何为特定测试设置特定属性,并为其他测试使用默认值?

0 个答案:

没有答案