在以下代码中,我在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进行了注释,所以不需要它们)。

09-11 18:58