Необходимо тестировать различные операции с базой данных. Причем не хочется тащить дампы бд для cleanup'ов, а хочется просто откатывать состояние бд на основе транзаций
Судя по гайду http://codeception.com/docs/09-Data под это дело хорошо подходит стандартный Dbh модуль, но вот как его подключить большой вопрос. Он требует PDO из модуля Db и с этим самые большие проблемы (где и как это передавать). Гайд говорит только о конфиге. Мой выглядит так:
Код: Выделить всё
paths:
tests: tests
log: tests/_log
data: tests/_data
helpers: tests/_helpers
settings:
bootstrap: _bootstrap.php
suite_class: \PHPUnit_Framework_TestSuite
memory_limit: 1024M
log: true
colors: true
coverage:
enabled: true
remote: true
include:
- controllers/*
- models/*
- widgets/*
modules:
enabled: [Db,Dbh]
config:
Db:
dsn: 'mysql:host=localhost;dbname=baxi'
user: 'root'
password: ''
#dump: tests/_data/dump.sql
cleanup: true
Dbh:
cleanup: false
Код: Выделить всё
[Codeception\Exception\ModuleConfig]
Dbh module is not configured!
Transaction module requires PDO instance explicitly set.
You can use your bootstrap file to assign the dbh:
\Codeception\Module\Dbh::$dbh = $dbh