Tôi đang gặp phải sự cố lạ ở đây ...Quy tắc JUnit TemporaryFolder tùy ý ném một IOException
Tôi có một JUnit đang thực hiện một vài thử nghiệm. Lớp học này trông giống như sau:
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
}
}
Lớp thử nghiệm này được sử dụng để hoạt động trong môi trường trước đó của tôi và vẫn hoạt động trong Continuum.
Tuy nhiên, khi khởi chạy từ Eclipse không có, một số hoặc tất cả các bài kiểm tra tùy tiện ném một IOException
như:
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)
Tôi có cùng một vấn đề chính xác chạy JUnit 4,9 hoặc JUnit 4.10 ...
Làm cách nào để khắc phục điều đó để hoạt động bình thường?
Điều đó sẽ hiệu quả. Bạn đang sử dụng 'Runner' nào để chạy thử nghiệm? Họ có đồng thời không? Bạn có thể muốn gỡ lỗi nhiều hơn, tức là sout biến 'thư mục' cũng nhìn thấy nơi nó trỏ khi sự cố xảy ra. –
Bạn có thể nói những gì bạn đang làm trong các bài kiểm tra không? Bạn đang viết thư cho các tập tin? Ngoài ra, bạn có cửa sổ chỉ mục đang chạy? –
Có mục đích của chương trình là xử lý dữ liệu và viết tệp dưới dạng đầu ra. Không có chỉ mục cửa sổ nào đang chạy. –