다음과 같은 문제가 있습니다 :각 테스트 실행 후 DB 재설정
DB가 많은 테스트 데이터로 미리 채워져 있습니다. 각 테스트가 끝나면 테스트 절차의 변경 사항을 버리기를 원합니다. 이미 임베디드 H2 DB로이 작업을 시도했습니다. DB 파일을 원래 파일로 덮어 쓰면 문제가 해결 될 것입니다. 그러나 또 다른 문제가 나타났습니다. H2는 서버로 실행하지 않고 멀티 스레딩을 지원하지 않습니다.
그 후 저는 HSQLDB를 보았습니다. 정상적으로 파일 DB (메모리가 아닌)로 사용된다면 DB의 내용을 메모리에로드하고 잠시 후에 변경된 내용을 디스크에 유지합니다.
파일 DB를 메모리로 읽어서 거기에서 사용하고 끝에 변경 사항을 버릴 수 있습니까? 이것은 완벽 할 것입니다. 롤백을 사용하는 솔루션도 훌륭합니다.
감사합니다, 다니엘 H2 데이터베이스의 경우
왜 멀티 스레딩 부족으로 문제가 해결됩니까? – acfrancis
응용 프로그램이 크게 멀티 스레딩에 의존하기 때문에 응용 프로그램이 없으면 작동하지 않습니다. 때로는 20 개 이상의 스레드가 동시에 DB에 액세스하고 있습니다. 테스트에서 느리게 작동한다면 여전히 괜찮은 편이지만 작동해야합니다. –
네가 선택한 DB 솔루션에 관계없이 테스트가 끝날 때 DB가 "복원"되면 모든 스레드가 기다려야 할 것입니다. 맞습니까? – acfrancis