在以下代码中,我在java.lang.IllegalStateException: the temporary folder has not yet been created
调用中获得了getRoot()
异常。
我找到了StackOverflow post,根据该代码应该可以运行。另外,我注意到,如果在temporaryFolder.create();
调用之前添加getRoot()
,则代码可以正常工作。
public class MainTest extends TestCase {
@Rule
public TemporaryFolder temporaryFolder = new TemporaryFolder();
@Test
public void testMethod() throws Exception {
File folder = temporaryFolder.getRoot();
}
}
为什么会这样呢? 最佳答案
您正在混合JUnit 3(junit.framework。)和JUnit 4(org.junit。)代码。如果仅使用JUnit 4,该问题应消失。
删除extends TestCase
(它们很简单,因为您的测试用@Test
进行了注释,所以不需要它们)。