автоматично тестване, behat с mysql

В момента изграждам автоматични тестове, използвайки селен и Behat за PHP приложение, което използва MySQL за база данни с InnoDB двигател. Базата данни е около 50 GB с много данни в нея. Тестовете вървят добре, но в момента се боря с почистването преди всеки нов тест.

Тъй като тестовете вмъкват данни (създават потребители за например), бих искал да поставя DB в известно състояние, преди всеки тест да се изпълнява. Скриптът за почистване е доста сложен за изпълнение без странични ефекти поради многото връзки между данните.

Въпросът ми е дали има някаква добра практика за възстановяване на DB до известно състояние по бърз начин (50 GB са много данни) точно преди да се изпълнят функциите на Behat?


person Ferencz Farkas    schedule 03.08.2013    source източник


Отговори (2)


Не тествайте с 50GB данни. Създайте база данни с по-малко данни специално за тестване.

person Oswald    schedule 03.08.2013

Бихте могли да използвате транзакции с режим на "суха работа", който би върнал всички заявки. Това няма да възстанови определено състояние на вашата DB, но ще ви позволи да взаимодействате с вашите данни, без да правите промени.

person Nassim    schedule 19.09.2013