0
기능 테스트를 통해 내 콘트롤러를 테스트해야합니다. 기능 테스트를 수행하기 전에 데이터베이스를 기본 상태로 되돌리려면 일반 sql 스크립트를 어떻게 실행할 수 있습니까?symfony2는 각 기능 테스트 전에 SQL 데이터 셋 스크립트를 실행합니다.
기능 테스트를 통해 내 콘트롤러를 테스트해야합니다. 기능 테스트를 수행하기 전에 데이터베이스를 기본 상태로 되돌리려면 일반 sql 스크립트를 어떻게 실행할 수 있습니까?symfony2는 각 기능 테스트 전에 SQL 데이터 셋 스크립트를 실행합니다.
테스트 기능 도구는 무엇인지 모르지만 Behat을 사용하면 정적 함수 "준비"를 초기화 할 수 있습니다. Behat web site
/**
* @BeforeSuite
*/
public static function prepare(SuiteEvent $event)
{
$base = 'php ' . escapeshellarg(__DIR__ . '/../../app/console') . ' ';
$commands = [
$base . 'cache:clear',
$base . 'doctrine:schema:drop --force',
$base . 'doctrine:schema:create',
$base . 'doctrine:fixture:load --append',
];
foreach ($commands as $command) {
echo $command . "\n";
$process = new Process($command);
$process->run();
}
}
그래서, 데이터베이스를 삭제, 새로운 생성하고 모든 비품을로드 지금, 모든 테스트를 실행할 수 있습니다.
[LiipFunctionalTestBundle] (https://github.com/liip/LiipFunctionalTestBundle)을 사용하면 하나의 스크립트가 아닌 다른 곳으로 이동할 수 있습니다. 대신, 테스트 데이터베이스를 주어진 상태로 설정하는 데이터 픽스처 또는 조명기 세트를 정의 할 수 있습니다. 기본 상태가 비어 있으면 번들로 매우 쉽게 만들 수 있습니다. 자세한 내용은 설명서를 참조하십시오. – geoB