는 this documentation에 따르면, 내가 좋아하는, 내 테스트 클래스의 setUp()
함수를 작성할 수 있습니다이 메소드가 호출되지 않고 실행되는 이유는 무엇입니까?
use Doctrine\ORM\Tools\SchemaTool;
use Liip\FunctionalTestBundle\Test\WebTestCase;
class AccountControllerTest extends WebTestCase
{
public function setUp()
{
$em = $this->getContainer()->get('doctrine')->getManager();
if (!isset($metadatas)) {
$metadatas = $em->getMetadataFactory()->getAllMetadata();
}
$schemaTool = new SchemaTool($em);
$schemaTool->dropDatabase();
if (!empty($metadatas)) {
$schemaTool->createSchema($metadatas);
}
$this->postFixtureSetup();
$fixtures = array(
'Acme\MyBundle\DataFixtures\ORM\LoadUserData',
);
$this->loadFixtures($fixtures);
}
//...
}
하지만 확장 WebTestCase 클래스의 setUp()
방법을 찾을 때, 나는 그것을 찾을 수 없습니다. 내 이해는 자식 클래스의 부모 클래스에서 메서드를 다시 정의 할 수 있습니다. 상위 클래스는이 메소드가 실행 된 이유를 때 나에게 설명하기 바랍니다
https://github.com/liip/LiipFunctionalTestBundle/blob/master/Test/WebTestCase.php
? 감사합니다
https://github.com/sebastianbergmann/phpunit/blob : 여기 https://phpunit.de/manual/current/en/fixtures.html
는 심포니가 확장되는 실제 추상 클래스에 대한 링크입니다 /master/src/Framework/TestCase.php#L2210 모든 수업을 들었습니다. 이것은 메소드가 시작된 곳입니다. –
@E_p, 정말 고맙습니다. –