Jestem stoi dziwny problem, tutaj ...JUnit Zasada TemporaryFolder arbitralnie rzuca IOException
Mam JUnit wykonawczych kilka testów. Ta klasa wygląda następująco:
public class MyTest {
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@Test
public void myTest1() throws IOException {
String destinationPath = folder.newFile("destination1.txt").getPath();
// Do things
}
@Test
public void myTest2() throws IOException {
String destinationPath = folder.newFile("destination2.txt").getPath();
// Do things
}
@Test
public void myTest3() throws IOException {
String destinationPath = folder.newFile("destination.txt").getPath();
// Do things
}
}
Ta klasa testowa była używana w moim poprzednim środowisku i nadal działa w Continuum.
Jednak przy uruchamianiu z Eclipse none, niektóre lub wszystkie testy arbitralnie rzucać IOException
takich jak:
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:883)
at org.junit.rules.TemporaryFolder.newFile(TemporaryFolder.java:53)
at MyTest.myTest2(MyTest.java:50)
Mam dokładnie ten sam problem z uruchomieniem JUnit JUnit 4.9 lub 4.10 ...
Jak mogę to naprawić, aby działał poprawnie?
To powinno zadziałać. Który "Runner" używasz do przeprowadzenia testów? Czy są współbieżne? Możesz chcieć więcej debugować, tzn. Zmienić zmienną 'folder' również, aby wskazywała, kiedy pojawia się problem. –
Czy możesz powiedzieć, co robisz w testach? Czy piszesz do plików? Czy masz uruchomioną indeksację systemu Windows? –
Tak, celem programu jest przetwarzanie danych i zapisywanie pliku jako pliku wyjściowego. Żadna indeksacja systemu Windows nie jest uruchomiona. –