Ich habe eine Klasse (FormFilters
), diese Klasse ruft ihre Methoden innerhalb einer Methode auf, in diesem Fall getProject
.@DataProvider oder @Depends kann ich es verwenden?
class FormFilters extends KernelTestCase
{
public function getProject($filters)
{
$this->filters = $filters;
$this->getWhere($this->filters);
}
public function getWhere()
{
if ($this->filters->isValid()) {
$this->sql = $this->filterName($this->filters->get('name')->getData());
}
}
public function filterName()
{
//....
}
}
Dies ist getProject
Methode Test:
public function test_getProject()
{
$formInterface = $this->createMock('Symfony\Component\Form\FormInterface');
$formInterface
->expects($this->at(0))
->method('isValid')
->willReturn(true); // come into conditional
$formInterface
->expects($this->at(1))
->method('get')
->with('name')
->will($this->returnSelf());
$formInterface
->expects($this->at(2))
->method('getData')
->will('data example');
$formFilters = new FormFilters();
$formFilters->getProject($formInterface); // my mock
}
Bisher alles in Ordnung. Nun, ich mag getWhere
Methode testen, ich könnte es tun, unabhängig, aber wenn getProject
den gleichen Test hat (genannt getWhere
-Methode), kann ich die Anmerkungen @dataProvider
oder @depends
verwenden, wie dieses (Beispiel):
/**
* @depends or/and @dataProvider test_getProject
*/
public function test_getWhere($dataToDepends)
{
// ... test ready !
}
Es ist möglich?