my issue seems to be very similar to "folder has not yet been created" error when using JUnit temporary folder in testclass.
Unfortunately the provided solution does not work for me and I don't know what to do.
I want to test the following:
//@RunWith(SpringRunner.class)
@RunWith(PowerMockRunner.class)
@PrepareForTest({SomeClass.class, SomeClassTests.class})
@SpringBootTest
class SomeClassTests {
@Autowired
private SomeClass systemUnderTest;
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@Test
void somePrivateMethodShouldDeleteSomeFile() {
// given
File foo = null;
try {
foo = folder.newFile("foo.java");
} catch (IOException e) {
assert false;
}
assertThat(foo.exists());
// when
try {
Method privateMethod = SomeClass.class.getDeclaredMethod("somePrivateMethod");
privateMethod.setAccessible(true);
privateMethod.invoke(SomeClass.class);
} catch (Exception e) {
assert false;
}
// then
assertThat(!foo.exists());
}
@TestConfiguration
static class SomeClassTestsConfiguration {
@Bean
public SomeClass systemUnderTest() {
return new SomeClass();
}
}
}
When I execute the entire Test Class as well as when I execute the single test, it always throws the exception in the first try catch block..
java.lang.IllegalStateException: the temporary folder has not yet been created
question from:
https://stackoverflow.com/questions/65938167/why-is-the-rule-temporary-folder-not-created 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…