【发布时间】:2014-07-23 22:31:45
【问题描述】:
您好,我正在寻找一种在 Spring 配置文件中使用 JUnit 的 TemporaryFolder 的方法。但我收到以下错误。
Caused by: java.lang.IllegalStateException: the temporary folder has not yet been created
at org.junit.rules.TemporaryFolder.getRoot(TemporaryFolder.java:127)
at org.junit.rules.TemporaryFolder.newFolder(TemporaryFolder.java:92)
at org.junit.rules.TemporaryFolder.newFolder(TemporaryFolder.java:84)
这是我的设置
@Configuration
public static class TestConfig {
@ClassRule
private final static TemporaryFolder tempFolder = new TemporaryFolder ();
@Bean
public TestBean testBean(){
return new TestBean(tempFolder.newFolder();
}
}
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {TestConfig.class})
public SomeTesT{
}
我什至尝试在静态块中初始化 TemporaryFolder,但也没有用。
【问题讨论】:
-
您可以尝试将@ClassRule 部分移动到
SomeTest -
我需要TestConfig中的临时文件夹
-
尝试将私有改为公共,因为
@ClassRule只能理解公共静态字段。
标签: java spring junit junit4 spring-test