반응형
Jooq를 사용한 테스트에 더미 H2 DB 사용
Jooq와 함께 Maria DB 스키마를 테스트할 수 있는 신뢰할 수 있는 방법을 찾고 싶습니다.이것이 제가 지금 가지고 있는 것입니다.
- Gradle을 사용하여 Jooq가 실제 DB(즉, Maria 인스턴스)에서 XML 스키마를 추출하도록 합니다.
org.jooq.codegen.XMLGenerator
이 단계는 다음을 생성합니다.maria_information_schema.xml
; - 이 스키마를 사용하여 모든 Java 클래스를 생성합니다.
작성할 모든 수업을 테스트하기 위해 다음과 같은 기술을 개발했습니다.
- 램 데이터베이스에 내장된 H2를 발사합니다.
- 자바를 구축합니다.
InitDatabase.java
수동으로 MariaDB 스키마와 유사한 DB 스키마를 설정하는 클래스; - 인램 DB에서 모든 테스트를 수행합니다.
이 절차는 실제 DB에서 무언가를 변경하지 않는 한 완벽하게 작동하고 동일한 작업을 수행하는 것을 잊었습니다.InitDatabase.java
학급.
제 질문은 XML 스키마 또는 생성된 Java 클래스를 사용하여 모든 생성 테이블 문을 수동으로 작성하지 않고 MariaDb와 동일한 스키마로 H2 데이터베이스를 생성할 수 있는 방법이 있습니까?
감사해요.
이 질문은 명확한 "정답"이 없는 개방형 질문입니다. jOOQ의 공식 견해는 대상 RDBMS로 무엇을 할 수 있는지, 특히 테스트 컨테이너를 사용하여 직접 테스트하기 위해 대체 RDBMS를 사용하는 것을 다시 고려하는 것입니다.
이 접근 방식을 jOOQ의 코드 생성과 결합하여 개발 프로세스를 더욱 간소화할 수 있습니다.
요약하면, jOOQ의 권장 사항은 다음과 같습니다.
- 데이터베이스 변경 관리를 위한 Flyway 또는 Liquibase
- 코드 생성을 위한 테스트
- 통합 테스트를 위한 테스트 용기
다른 동등한 제품도 분명히 가능합니다.
언급URL : https://stackoverflow.com/questions/75285122/use-dummy-h2-db-for-testing-with-jooq
반응형
'programing' 카테고리의 다른 글
MongoDB에서 하위 문서를 루트 수준으로 평평하게 만드는 방법은 무엇입니까? (0) | 2023.06.11 |
---|---|
Python에서 예외 메시지를 올바르게 가져오는 방법 (0) | 2023.06.06 |
C++에 최대 배열 길이 제한이 있습니까? (0) | 2023.06.06 |
Angular 10으로 업그레이드 - 공통 수정JS 또는 AMD 종속성으로 인해 최적화 구제 조치가 발생할 수 있음 (0) | 2023.06.06 |
UITableViewCell의 배경색을 사용자 지정하는 방법은 무엇입니까? (0) | 2023.06.06 |