Back-end/Java
Java Junit 이용하여 DB에 DummyData 입력하기!
Rowen Jobs
2021. 12. 10. 12:04
728x90
반응형
Junit을 사용할려면 우선 Build Path 로 들어가셔서 추가 해주어야 합니다! .
Junit 작업할 프로젝트 마우스 오른쪽 클릭 -> Build Path -> Congifure Build Path... 순서로 들어갑니다.
Classpath를 클릭하면 오른쪽 버튼
들이 활성화 됩니다. 활성화 된 버튼중에 Add Library 클릭!
Jnuint 클릭 후 Next를 합니다
저는 Jnuit5 버전을 선택하고 Finish 하겠습니다.
Classpath에 추가 된 것을 알 수 있고 Apply and Close를 해줍니다.
src/test/java 아래에 com.lec.spring 밑에 dummy 패키지를 추가해주어 Jnuit 클래스를 만들어 보겠습니다
JUnit Test Case를 선택하시고 Next를 하게 되면 아래에 사진과 같이 나옵니다
전 패키지 이름을 com.lec.spring.dummy로 정하고 DummyDatas.java 를 만들었습니다.
클래스 내부 코드입니다
package com.lec.spring.dummy;
import static org.junit.jupiter.api.Assertions.fail;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Random;
import org.junit.jupiter.api.Test;
class DummyDatas {
// JDBC 관련 기본 객체 변수들 선언
Connection conn = null;
Statement stmt = null;
PreparedStatement pstmt = null;
ResultSet rs = null; // executeQuery(), SELECT 결과
int cnt = 0; // executeUpdate(), DML 결과
// MySQL
public static final String DRIVER = "com.mysql.cj.jdbc.Driver"; // JDBC 드라이버 클래스
public static final String URL = "jdbc:mysql://localhost:3306/rowendb716"; // DB 서버 정보
public static final String USERID = "rowen"; // DB 사용자 계정 정보
public static final String USERPW = "1234";
public static final String SQL_WRITE_INSERT =
"INSERT INTO board" +
"(userId, title, summary) " +
"VALUES(?, ?, ?)";
@Test
void test() {
fail("Not yet implemented");
}
String[] userId = {"짱구", "아이언맨", "철수", "토르", "로키", "유리", "훈이", "신형만", "봉미선"};
Random rd = new Random();
@Test
void genData() {
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USERID, USERPW);
// 테스트용 dummy 데이터 만들기
pstmt = conn.prepareStatement(SQL_WRITE_INSERT);
int num = 50;
for(int i = 0; i < num; i++) {
pstmt.setString(1, String.format("%s", userId[rd.nextInt(9)]));
pstmt.setString(2, String.format("content%04d", i)); // content0000, content0001 .....
pstmt.setString(3, String.format("name%04d", i)); //name0000, name0001.....
cnt += pstmt.executeUpdate();
}
System.out.println(cnt + "개 의 데이터가 INSERT 되었습니다");
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(pstmt != null) pstmt.close();
if(conn != null) conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
}
@Tset 어노테이션을 테스트 할 메소드 위에 작성합니다.
@Test 어네테이션이 붙은 메소드를 왼쪽마우스 클릭 후 오른쪽 마우스를 클릭해줍니다.
사진과 같이 RunAs에 JUnit Test를 클릭해줍니다 !
성공이 되었을때 Junit은
이러한 결과를 보여지게 되고
확인을 위해 콘솔창에 출력을 해줍니다
728x90