2013-08-03 2 views
2

현재 InnoDB 엔진이있는 데이터베이스에 MySQL을 사용하는 PHP 애플리케이션 용으로 셀렌과 Behat을 사용하여 자동 테스트를 만들고 있습니다. 데이터베이스는 약 50GB이며 많은 데이터가 들어 있습니다. 테스트는 정상적으로 실행되고 있지만 현재는 새로운 테스트를 실행하기 전에 정리 작업에 어려움을 겪고 있습니다.mysql을 이용한 자동 테스팅

테스트는 데이터를 삽입하기 때문에 (예를 들어 사용자 생성) 각 테스트가 실행되기 전에 알려진 상태로 DB를 넣고 싶습니다. 클린업 스크립트는 데이터 간의 많은 관계 때문에 부작용이 없이는 꽤 복잡합니다.

제 질문은 Behat 기능이 실행되기 직전에 DB를 알려진 상태 (빠른 데이터 : 50GB)로 복원하는 좋은 방법이 있습니까?

답변

3

50GB의 데이터로 테스트하지 마십시오. 특별히 테스트 할 데이터가 적은 데이터베이스를 만듭니다.

0

모든 쿼리를 롤백하는 "드라이 런"모드의 트랜잭션을 사용할 수 있습니다. DB의 특정 상태를 복원하지는 않지만 변경하지 않고 데이터와 상호 작용할 수 있습니다.

관련 문제