예제에서 볼 수 있듯이 이제 막 findByType을 구현했고, 몇몇 문서와 그 유형을 추출하는 private storage 메서드를 사용했다. 또한 storage 메서드를 직접 사용하는 listAll 메서드를 구현했다. 이 예제는 몇 가지 스프링 프레임워크 특징을 보여주기 시작하는 원시적인 예제라는 점을 유념하기 바란다. 다음으로 지금까지 한 작업을 테스트해야 한다. 따라서 JUnit을 사용해서 유닛 테스트(단위 테스트)Unit test를 만들어보자(예제 2-5 참고).
예제 2-5 MyDocumentsTest.java
package com.apress.isf.java.test;
import java.util.List;
import org.junit.Test;
import static org.junit.Assert.*;
import com.apress.isf.java.model.Document;
import com.apress.isf.java.model.Type;
import com.apress.isf.java.service.MySearchEngine;
import com.apress.isf.java.service.SearchEngine;
public class MyDocumentsTest {
private SearchEngine engine = new MySearchEngine();
@Test
public void testFindByType() {
Type documentType = new Type();
documentType.setName("WEB");
documentType.setDesc("Web Link");
documentType.setExtension(".url");
List<Document> documents = engine.findByType(documentType);
assertNotNull(documents);
assertTrue(documents.size() == 1);
assertEquals(documentType.getName(), documents.get(0).getType().getName());
assertEquals(documentType.getDesc(), documents.get(0).getType().getDesc());
assertEquals(documentType.getExtension(),
documents.get(0).getType().getExtension());
}
@Test
public void testListAll() {
List<Document> documents = engine.listAll();
assertNotNull(documents);
assertTrue(documents.size() == 4);
}
}