Unitils를 이용한 MySQL(MariaDB) 테스트 관련 내용 갱신 요청 드립니다.
- 작성자 :
- 박*민
- 작성일 :
- 2020-11-11 08:57:18
- 조회수 :
- 3,255
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요. 전자정부프레임워크를 운영관리해주셔서 감사합니다.
아래 글을 보고 Unitils 사용법을 배웠는데요. 내용 추가가 필요해서 문의드립니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev:tst:db_test_case
Unitils로 MySQL(MariaDB) 테스트 시 아래 설정이 꼭 추가되어야 합니다.
org.dbunit.database.IMetadataHandler.implClassName=org.dbunit.ext.mysql.MySqlMetadataHandler
원인은 MySQL(MariaDB)에서는 스키마명 대신 카탈로그를 사용하기 때문입니다.
세부 내용은 아래 두 링크를 참고해주시기 바랍니다.
https://sourceforge.net/p/dbunit/code.git/ci/master/tree/dbunit/src/main/java/org/dbunit/ext/mysql/MySqlMetadataHandler.java#l93
https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/src/main/java/org/mariadb/jdbc/MariaDbDatabaseMetaData.java#L650
해결 방법에 대해서는 아래 링크를 참고해주시기 바랍니다.
https://sourceforge.net/p/unitils/discussion/570578/thread/a470230e/?limit=25#d2e6/aa81
참고1. 제가 사용하는 Unitils의 버전은 3.4.6이고, DBUnit은 2.7.0, mariadb-connector-j의 버전은 2.7.0입니다.
참고2. 위 설정을 하지 않았을 때 다음과 같은 오류가 발생합니다.
Caused by: org.dbunit.dataset.NoSuchColumnException: 테이블명.컬럼명 - (Non-uppercase input column: 컬럼명) in ColumnNameToIndexes cache map. Note that the map's column names are NOT case sensitive
아래 글을 보고 Unitils 사용법을 배웠는데요. 내용 추가가 필요해서 문의드립니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev:tst:db_test_case
Unitils로 MySQL(MariaDB) 테스트 시 아래 설정이 꼭 추가되어야 합니다.
org.dbunit.database.IMetadataHandler.implClassName=org.dbunit.ext.mysql.MySqlMetadataHandler
원인은 MySQL(MariaDB)에서는 스키마명 대신 카탈로그를 사용하기 때문입니다.
세부 내용은 아래 두 링크를 참고해주시기 바랍니다.
https://sourceforge.net/p/dbunit/code.git/ci/master/tree/dbunit/src/main/java/org/dbunit/ext/mysql/MySqlMetadataHandler.java#l93
https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/src/main/java/org/mariadb/jdbc/MariaDbDatabaseMetaData.java#L650
해결 방법에 대해서는 아래 링크를 참고해주시기 바랍니다.
https://sourceforge.net/p/unitils/discussion/570578/thread/a470230e/?limit=25#d2e6/aa81
참고1. 제가 사용하는 Unitils의 버전은 3.4.6이고, DBUnit은 2.7.0, mariadb-connector-j의 버전은 2.7.0입니다.
참고2. 위 설정을 하지 않았을 때 다음과 같은 오류가 발생합니다.
Caused by: org.dbunit.dataset.NoSuchColumnException: 테이블명.컬럼명 - (Non-uppercase input column: 컬럼명) in ColumnNameToIndexes cache map. Note that the map's column names are NOT case sensitive
A
안녕하세요.
표준프레임워크센터 입니다.
다음 위키가이드 부분에대해서
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev:tst:db_test_case
말씀 주신부분에 대하여
센터에서 추가검토를 한다음
갱신 하도록 하겠습니다.
표준프레임워크에 많은 관심을 가지고
도움을 주셔서 감사드립니다.
좋은 하루 되십시요.
표준프레임워크센터 입니다.
다음 위키가이드 부분에대해서
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev:tst:db_test_case
말씀 주신부분에 대하여
센터에서 추가검토를 한다음
갱신 하도록 하겠습니다.
표준프레임워크에 많은 관심을 가지고
도움을 주셔서 감사드립니다.
좋은 하루 되십시요.