Tôi đang tạo đối tượng Mô phỏng tập tin bằng Mockito sẽ được sử dụng làm thư mục để lưu trữ một Tệp mới.Lớp Mock File và NullPointerException
Folder folder = Mockito.mock(File.class);
File file = new Agent().createNewFile(folder, "fileName");
và bên trong lớp Agent của tôi:
public File createNewFile(File folder, String filename){
return new File(folder, "testfile");
}
Nhưng tôi nhận được một NullPointerException tại khối khởi tạo các tập tin khi tạo file mới bên createNewFile
phương pháp:
java.lang.NullPointerException at java.io.File.<init>(File.java:308)
tôi nghĩ rằng nó xảy ra bởi vì File không có bất kỳ hàm tạo rỗng nào, vì vậy khi chế nhạo đối tượng một số trạng thái nội bộ vẫn là null.
Tôi có đang tiếp cận sai khi chế nhạo đối tượng File folder
không? Mục tiêu của tôi là kiểm tra một số ràng buộc trước khi tạo tệp mới, nhưng tôi không muốn phụ thuộc vào thư mục thực hiện có trên hệ thống tệp.
Cảm ơn bạn.
"Tôi nghĩ điều đó xảy ra vì Tệp không có bất kỳ hàm tạo trống nào" Tôi không quen với Mockito nhưng rất có thể là trường hợp. Sự vắng mặt của một hàm tạo với các tham số sắp xếp có ý nghĩa khi javadoc nói rằng Tệp là "Một biểu diễn trừu tượng về tên đường dẫn tệp và thư mục". Như vậy, File sẽ cần phải trỏ một tập tin nhất định trên hệ thống máy chủ nhưng không đại diện cho nó "vật lý" và chỉ đơn giản là cho phép thực hiện các hoạt động I/O tập tin. http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html –