몇 가지 파일 형식으로 프로젝트를 진행 중입니다. 일부 형식은 .xsds로 지정되고 다른 형식은 해당 웹 사이트의 문서로 지정되며 일부는 문서가없는 사용자 지정 사내 형식입니다. 음하 하하하
뭐가 문제 야?
파일 리더를 테스트하고 싶지만이 작업을 수행하는 방법을 완전히 모르겠습니다. 응용 프로그램의 흐름은 다음과 같습니다.
file.___ ===> read by FileReader.java ===> which creates a Model object
FileReader
인터페이스가 있는 곳
public interface FileReader {
public Model read(String filename);
}
는 Model
파일을 읽을 때 채워집니다 속성을 가지고 있습니다. 그것은 다음과 같습니다
public class Model {
List<String> as;
List<String> bs;
boolean isAPain = true;
// ...
}
내가 무엇을 시도 했습니까?
내 유일한 아이디어는 각 파일 형식에 대해 파일 "생성기"를 만드는 것입니다. 이 생성기는 기본적으로 몇 가지 변수 (예 : 파일에 생성 할 주석 수)를 사용하고 샘플 파일을 출력 한 다음 결과를 읽고 Model
파일을 처음 생성 할 때 사용한 변수와 결과 를 비교하는 빌더입니다 .
그러나 몇 가지 문제가 있습니다.
- 그것이 생성하는 파일은 실제 파일처럼 보이지 않습니다 . 생성기는 컨텍스트를 전혀 인식하지 못합니다.
- 변수를 수동으로 설정 한 사람이기 때문에 생성기가 엣지 케이스를 생성했는지 여부를 인식하기가 어렵습니다. 이 방법은 수십 개의 샘플 파일을 만드는 것보다 낫습니다.
더 좋은 방법이 있습니까?
편집 : 실제로 의미하는대로 단위를 통합으로 변경했습니다.
EDIT2 : 여기에 내가 언급 한 엣지 케이스의 예가 있습니다.
각 파일은 꼭짓점과 가장자리로 구성된 그래프를 나타냅니다. 이 정점과 모서리는 다른 방식으로 부착 될 수 있습니다.
v1 -- e1 --> v2 <-- e2 -- v3
~와 다르다
v1 -- e1 --> v2 -- e2 --> v3
가장자리의 방향이 중요합니다. 이것이 질문의 범위에 있는지 확실하지 않지만 수동으로 정점 수, 모서리 수를 설정하고 무작위로 연결을 생성 할 때 모든 관련 모서리 사례를 생각하기가 어렵습니다.
FileReader
? 예 : 이미지 파일 형식으로 발견 된 엣지 케이스가 주어진 경우 각 테이블 항목에 대해 행 / 열 특성 조합이 지원되는 경우 해당 조합을 포함하는 테스트 케이스 (데이터 파일)가 하나 이상 있어야합니다.