728x90
반응형
JunitTest란
test패키지에서 test를 사용할 때 간단하게 사용합니다
Junit Test는 메인메서드를 만들지 않고 바로 테스트를 해볼수 있습니다.
오라클 DB 연결 Test
우선 void메서드를 만듭니다.
public class DbConnectTest {
private static final String DRIVER = "oracle.jdbc.OracleDriver";
private static final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
private static final String UID = "week";
private static final String PWD = "week";
public void connectTest() {
Connection con = null;
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL,UID,PWD);
if(con != null) {
System.out.println("DB 커넥션 성공!");
System.out.println("conn : "+con);
}else {
System.out.println("DB정보를 받지 못했습니다.");
System.out.println("DB연결에 실패 했습니다.");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try { con.close();}catch(Exception e) {e.printStackTrace();}
}
}
}
실제로는 이 로직 test를 진행하기 위해서는 Main메서드가 필요하며 DbConnectTest객체를 생성해야 .connectTest() 메서드를 호출할 수 있게 됩니다.
하지만 이것을 단순하게 처리할수 있는 방법인 스프링의 junit 단위테스트 방법이 있습니다.
public class DbConnectTest {
private static final String DRIVER = "oracle.jdbc.OracleDriver";
private static final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
private static final String UID = "week";
private static final String PWD = "week";
@Test
public void connectTest() {
Connection con = null;
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL,UID,PWD);
if(con != null) {
System.out.println("DB 커넥션 성공!");
System.out.println("conn : "+con);
}else {
System.out.println("DB정보를 받지 못했습니다.");
System.out.println("DB연결에 실패 했습니다.");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try { con.close();}catch(Exception e) {e.printStackTrace();}
}
}
}
메서드에 @Test 어노테이션을 선언합니다.
@Test 어노테이션은 JUnit 연습용 테스트를 수행할수 있도록 선언해주는 애노테이션입니다.
try-catch-resources 자동 리소스 닫기
public class DbConnectTest {
private static final String DRIVER = "oracle.jdbc.OracleDriver";
private static final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
private static final String UID = "week";
private static final String PWD = "week";
@Test
public void connectTest() {
try(Connection con = DriverManager.getConnection(URL,UID,PWD)){
Class.forName(DRIVER);
if(con != null) {
System.out.println("DB 커넥션 성공!");
System.out.println("conn : "+con);
}else {
System.out.println("DB정보를 받지 못했습니다.");
System.out.println("DB연결에 실패 했습니다.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
java 7 버전에서 추가된 문법으로 예외 발생여부와 상관없이 finally에서 항상 처리해줘야했던 리소스객체(입출력 스트림, 소켓 등)의 close()메소드를 호출하여 안전하게 리소스를 닫아줍니다.
Connection은 AutoClosable인터페이스를 구현 상속을 받았기 때문에 try문의 ( ) 괄호 내에서 객체를 생성하면
finally문에서 명시적 코드로 close() 메서드를 호출하여 닫지 않아도 자동으로 생성된 각 객체마다 메서드를 호출하여 자동으로 닫히게 해줍니다.
JUnit단위Test수행
outline을 열어줍니다.
outline에서 메서드 선택 우클릭 jUnitTest클릭
junit창 우측 바가 초록색이면 성공, 빨간색이면 실패 입니다.
만약 오류가 났다면
이 버튼을 누르면 콘솔창에 오류내용이 출력됩니다.
728x90
반응형
'SpringFramework > BASIC' 카테고리의 다른 글
[ @ParhVariable ] 어노테이션을 통한 uri path로 파라미터를 처리하는 방법 (0) | 2020.09.05 |
---|---|
[JunitTest 2] @Runwith, @ContextConfiguration / 데이터 조회 및 삭제기능 Test (0) | 2020.09.04 |
[MyBatis] resultType / 객체 별칭 관리기능 mapperLocations 주입 (0) | 2020.09.04 |
[MyBatis] resultMap / #{ } 문법 바인딩변수 처리 (0) | 2020.09.03 |
[Mybatis]SqlSessionTemplate/MapperInterface(3.0이전 / 3.0이후) 구현방식 차이 (0) | 2020.09.03 |