JUnit 테스트를 위해 MySQL을 메모리 내에서 사용할 수 있습니까?
소프트웨어 개발에서 데이터베이스 상호 작용 테스트는 필수적이지만 본격적인 데이터베이스 설정 및 관리. 이 프로세스를 단순화하기 위해 일부 개발자는 인메모리 테스트에 SQLite 또는 H2 데이터베이스를 사용합니다. 그러나 이 맥락에서 MySQL 자체를 사용할 수 있는 옵션이 있습니까?
해결책: MariaDB4j
답은 완전한 기능을 제공하는 Gradle/Maven 종속성인 MariaDB4j에 있습니다. JUnit 테스트를 위한 호환 가능한 인메모리 MySQL 데이터베이스입니다. 최소한의 설정이 필요합니다:
DB database = DB.newEmbeddedDB(3306); database.start(); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
추가 초기화를 위해 시작 스크립트를 포함할 수 있습니다:
database.source("path/to/resource.sql");
고려사항
동안 MariaDB4j는 임베디드 MySQL 솔루션을 제공하지만 메모리에서만 작동하지 않습니다. 시스템의 임시 폴더에 임시 파일을 생성합니다. 결과적으로 이는 진정한 인메모리 솔루션이 아니며 이에 의존하는 테스트는 외부 리소스로부터 독립성을 요구하는 전통적인 단위 테스트 정의에서 벗어날 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3