@Test
지금껏 JSP에서는
DB와 자바가 연결되었는지 확인하기 위해
반드시 DAO를 먼저 생성하고
톰캣 서버가 켜질 때까지 기다린 후
서버를 돌려서 DB에 접근하는 로직을 이용했습니다.
이 방법으로 콘솔창에 뜨는 메세지를 디버깅하거나
JSP 파일에 데이터가 받아지는지 확인해왔지만
이제 @Test를 이용해 서버 작동 없이도 확인할 수 있습니다.
준비물 >>> Junit 4.12 버전 , spring-test, lombok 모두 구글에 MVNrepository 검색하여 준비합니다.
테스트 코드 생성
src/test/java 내에 com.ict.dao 패키지를 생성했습니다.
이후 테스트를 위한 OjdbcConnectionTest를 생성합니다.
롬복의 @Log4j 기능을 이용한 로깅을 위해 클래스명 위에 @Log4j를 입력합니다.
그리고 테스트 코드는 @Test가 붙은 메서드를 메인메서드처럼 간주합니다.
그럼 테스트 코드를 생성해보겠습니다.
package com.ict.dao;
import static org.junit.Assert.fail;
import java.sql.Connection;
import java.sql.DriverManager;
import org.junit.Test;
import lombok.extern.log4j.Log4j;
@Log4j
public class OjdbcConnectionTest {
static {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch(Exception e) {
e.printStackTrace();
}
}
@Test
public void testConnection() {
try(Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521/XEPDB1",
"mytest",
"mytest")){
log.info(con);
log.info("정상적으로 연결되었습니다.");
} catch(Exception e) {
fail(e.getMessage());
}
}
}
static 내부의 try 구문에서 oracle db 주소를 설정합니다.
DB 내 계정 설정 주소는
"jdbc:oracle:thin:@localhost:1521/XEPDB1"
로 지정했고 밑은 계정명과 비밀번호를 적어두었습니다.
@Test 어노테이션이 걸린 testConnection()의 try문 내부에
log.info(con);
log.info(정상 작동 로그);
를 입력해둠으로서 테스트 코드 실행 시 꼭 실행되도록 처리했습니다.
ctrl + f11을 눌러 Junit test를 실행한 결과 화면입니다.
서버를 실행할 필요 없이 Test코드 작성과 @Test 어노테이션을 통해
쉽게 DB에 접속되었는지 여부를 확인할 수 있었습니다.