새 파일을 저장할 디렉터리로 사용될 Mockito를 사용하여 파일 모의 개체를 만듭니다. 모의 파일 클래스 및 NullPointerException
Folder folder = Mockito.mock(File.class);
File file = new Agent().createNewFile(folder, "fileName");
내 에이전트 클래스 내부
:public File createNewFile(File folder, String filename){
return new File(folder, "testfile");
}
그러나 createNewFile
방법 안에 새 파일을 만들 때이 파일의 초기화 블록에서 NullPointerException이납니다 :
java.lang.NullPointerException at java.io.File.<init>(File.java:308)
I File에 빈 생성자가 없기 때문에 발생한다고 생각합니다. 따라서 객체를 조롱 할 때 내부 상태가 null로 유지됩니다.
File folder
개체를 조롱하는 잘못된 접근 방법을 취하고 있습니까? 내 목표는 새 파일을 만들기 전에 몇 가지 제약 조건을 확인하는 것이지만 파일 시스템의 기존 실제 폴더에 의존하고 싶지 않습니다.
감사합니다.
"파일에 빈 생성자가 없기 때문에 발생한다고 생각합니다." 저는 Mockito에 익숙하지 않지만 그럴 가능성이 큽니다. javadoc에 File가 "파일 및 디렉토리 경로 이름의 추상 표현"이라고 명시되어 있으므로 매개 변수 정렬을 사용하는 생성자가 없다는 것은 의미가 있습니다. 따라서 File은 호스트 시스템에서 주어진 파일을 가리킬 필요가 있지만 "물리적으로"그것을 나타내지 않고 단순히 파일 I/O 작업을 수행 할 수 있습니다. http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html –