我有问题。 我具有dataprovider的特征:
trait testingData{
protected function dataProvider(){
return[['example' => 1],
['example' => 2];
}
protected function testData(MyTester $I, Example $e){
$I->testData($e['example'];
}
}
我有很多这样的特质。
然后我有一个大班,将这些特征综合在一起
class Importer{
use "namespace of testingData trait";
//setters, getters, some parameters...
use testingData;
/**
* @dataProvider dataProvider
*/
public startTest(MyTester $I, Example $e){
$this->testData($I,$e);
}
/**
* @dataProvider anotherDataProvider
*/
public startAnotherTest(MyTester $I, Example $e){
$this->testAnotherData($I,$e);
}
}
现在在我的测试中,我尝试使用@after注释调用这两个测试,测试扩展了importer类,因此看起来像这样:
class test extends Importer{
/**
* @after startTest
* @after startAnotherTest
*/
public function prepareForm(FormTester $I, Example $e){
$I->amOnPage("/somewhere");
...
}
}
那么,哪里出问题了?
我必须向您介绍测试步骤:
我需要采取哪些步骤:
我尝试过什么?
我尝试在构造方法中的Importer类中创建$ this-> myDataProvider = new Example(dataProvider);并发送方法testData($ I,$ this-> myDataProvider [0])。但是在这里,我只能使用dataProvider的特定一行。
有可能吗?
感谢答案