programing

Jooq를 사용한 테스트에 더미 H2 DB 사용

instargram 2023. 6. 6. 00:26
반응형

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

반응형