Nach this documentation, kann ich eine setUp()
Funktion in meiner Test-Klasse schreiben, wie:Warum wird diese Methode ausgeführt, ohne dass sie aufgerufen wird?
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);
}
//...
}
Aber wenn ich für die setUp()
Methode in der erweiterten WebTestCase Klasse aussehen, ich finde es nicht. Mein Verständnis ist, dass ich eine Methode von Elternklasse in der Kindklasse neu definieren kann. Übergeordnete Klasse ist:
https://github.com/liip/LiipFunctionalTestBundle/blob/master/Test/WebTestCase.php
Bitte, mir zu erklären, warum und wann diese Methode ausgeführt werden? Danke
https://github.com/sebastianbergmann/phpunit/blob /master/src/Framework/TestCase.php#L2210 Ging durch alle Klassen. Hier kommt die Methode her. –
@E_p, vielen Dank jetzt verstehe ich. –