在我的代码中,我得到了如下的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
如何为特定测试设置特定属性,并为其他测试使用默认值?