반응형
테스트 코드를 작성해 전체 프로그램을 위한 서버 작동 없이도 연결여부를 확인 가능하며
제품의 안정성을 높이고 빠른 피드백을 받을 수 있으며
결과적으로 생산성을 높인다는 장점이 있음
1. mvnrepository.com에서 설치된 oracle 버전과 동일한 라이브러리를 복사해 pom.xml <dependencies> 태그 내부에 붙여넣기
<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>18.15.0.0</version>
</dependency>
2. 테스트 코드 작성을 위한 사전세팅
* JUnit 버전을 4.7 에서 4.12 로 변경
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
* mvnrepository에서 spring-test를 스프링 버전과 동일하게 세팅
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.0.7.RELEASE</version>
<scope>test</scope>
</dependency>
* mvnrepository에서 lombok 세팅
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
3. src/test/java 경로에 테스트용 파일 생성해 테스트 코드 작성
클래스 내부에 lombok의 log4j 기능을 이용한 로깅을 위해 @Log4j 어노테이션 작성
@Log4j
public class OjdbcConnectionTest {
static {
try {
// 드라이버 설정(어떤 DB와 접속할지 알려주는 용도)
Class.forName("oracle.jdbc.OracleDriver");
}catch(Exception e) {
e.printStackTrace();
}
}
테스트 코드는 @Test가 작성된 메서드를 메인 메서드로 인식
@Test
public void testConnection() {
// Java 1.7 이후 버전의 JDBC 코드는 try~catch 구문 사용
try(Connection con = DriverManager.getConnection(
// DB 주소 설정(oracle 18c 버전 기준)
"jdbc:oracle:thin:@localhost:51521/XEPDB1",
// DB 내부 계정 설정("id", "password")
"mytest",
"mytest")){
log.info(con);
log.info("정상적 연결 완료");
}catch(Exception e) {
// 연결 실패시 사유를 보여줌
fail(e.getMessage());
}
}
}
4. 테스트 실행
5. 정상적 연결 시 커넥터 주소 출력
5. 비정상적인 연결 시 Failure Trace에 사유
'Spring' 카테고리의 다른 글
[Spring] Mapper 인터페이스와 Mapper.xml (0) | 2021.09.14 |
---|---|
[Spring] 커넥션 풀(Connection Pool) 설정 (0) | 2021.09.12 |
[Spring] Maven repository 외부 라이브러리 추가 (0) | 2021.09.10 |
[Spring] Maven 의존성 관리와 pom.xml (0) | 2021.09.09 |
[Spring] 컴포넌트 스캔(component-scan) (0) | 2021.09.08 |