가 직렬화 프레임 워크를 사용하여 (하나 추악한 내장 된 자바 Serialization
API 나 XML 또는 JSON 매퍼) 콩을 변환 파일로 그리고 뒤로. 현대의 많은 프레임 워크는 작업을 수행하는 데 필요한 힌트가 거의 없습니다.
옵션 :
JSON : Gson 또는 Jackson
XML : Simple 또는 Woodstox
그런 식으로, 당신은 모든 JDBC에 갈 필요가 없습니다. 나는 항상 데이터베이스 테스트를 피하려고 노력한다. 벤더가 그렇게해야한다. 내 테스트는 내가 인지, DB를 정확히으로 테스트하는지 테스트합니다. 이를 위해서는 쿼리 작성자가 올바른 SQL 문자열을 생성하는지 확인해야합니다 (단, 데이터베이스에 보낼 필요는 없습니다).
DB를 테스트 할 때 (실제로 JDBC 드라이버를 통해 데이터를 전송할 때) 테스트 케이스는 가능한 작고 단순해야합니다. 필자는 테스트 케이스와 생산 데이터가없는 특정 테스트 데이터베이스에 대해 항상 테스트를 수행합니다. 차이점은 테스트 데이터베이스의 각 행에는 목적이 있다는 것입니다. 프로덕션 데이터베이스에는 100 만 건의 사례 B가 한 번 있고 C가 누락 된 사례는 매우 드물다.
"프로덕션 데이터베이스 복사본에 대해 테스트하고 싶습니다."라고 말하는 것은 "내가하는 작업을 모르기 때문에 많은 작업을 수행합니다."라고 말하면됩니다.
테스트 데이터베이스는 첫 번째 테스트가 실행될 때 처음부터 다시 작성됩니다 (정적 코드 블록은 여기에 친구입니다). 그렇게하면 사람들이 아무 것도 사용하지 못하게됩니다. 각 개발자는 자신의 인스턴스를 가져옵니다.
복잡한 저장 프로 시저가있는 경우 다른 Java 코드처럼 취급하십시오. 가장 간단한 테스트 데이터로 각 경로를 테스트하십시오.
모든 규칙에는 단지 두 가지 목표 만 있습니다. 실제 데이터베이스를 강타한 테스트를 작성하기 전에 모든 사람이 두 번 생각하게하고 그 다음에 결정하십시오. 두 번째 목표 : 테스트에서 데이터베이스를 사용하는 경우 대부분 성공합니다.
JdbcProxy는 좋은 해결책 인 것처럼 보이지만 버려진 것 같습니다. – OliverS
은 재생 기능이있는 또 다른 하나를 찾았습니다 : http://sourceforge.net/projects/dbdatestdriver/ – socha23