我有一個類(稱爲FormFilters
),該類在一種方法中調用其方法,在這種情況下爲getProject
。@dataProvider或@depends我可以使用它嗎?
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()
{
//....
}
}
這是getProject
方法測試:
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
}
到目前爲止,所有的權利。現在,我想測試getWhere
方法,我可以獨立完成,但如果getProject
具有相同的測試(叫getWhere
方法),我可以使用註釋@dataProvider
或@depends
,像這樣(例如):
/**
* @depends or/and @dataProvider test_getProject
*/
public function test_getWhere($dataToDepends)
{
// ... test ready !
}
有可能嗎?