Tipp #3: Gemeinsame Data Provider
Hast Du dich jemals gefragt, warum man für Expectations und Fixtures den Dateinamen spezifizieren kann aber für Data Providers scheinbar auf den Standard “Testname punkt yaml” festgelegt ist? Der einfache Grund ist, dass @dataProvider
ein natives Feature von PHPUnit ist und sein Parameter ein Methodenname sein muss.
Also bedeutet @dataProvider dataProvider
, dass die Methode EcomDev_PHPUnit_Test_Case::dataProvider()
als Data Provider genutzt wird:
/** * Implements default data provider functionality, * returns array data loaded from Yaml file with the same name as test method * * @param string $testName * @return array */ public function dataProvider($testName) { return TestUtil::dataProvider(get_called_class(), $testName); }
Aber EcomDev_PHPUnit bietet auch eine Möglichkeit, den Dateinamen für Data Provider explizit anzugeben, was dann z.B. gemeinsame Data Provider ermöglicht:
/** * @dataProvider dataProvider * @dataProviderFile customFileName.yaml */ public function testSomething($something)
One Reply to “EcomDev_PHPUnit Tipp #3”
Comments are closed.