如何在 Codeception 中只使用第 n 行 DataProvider?
How to use only nth line of DataProvider in Codeception?
我正在使用 Codeception 进行测试。我正在使用数据提供者并且一切正常。但我需要能够说 "i need to start only line 1 from data provider",我该怎么做?
protected function pageProviderTest(){
return[
['version' => 1],
['version' => 2],
['version' => 3],
];
}
/**
* @param WebdriverTester $I
* @dataProvider pageProviderTest
*/
public function test1(WebdriverTester $I, Example $example){
$I->see($example['version']);
}
例如,现在我只想测试测试是否看到“1”。其他我什至不想开始的测试。
所以我找到了答案。
你必须创建新的 Example 对象并给他你想要使用的参数,所以在这种情况下它看起来像:
private $testingData;
public function __construct()
{
$this->testingData = new Example(pageProviderTest[0]); // enter the num of line in field
}
protected function pageProviderTest(){
return[
['version' => 1],
['version' => 2],
['version' => 3],
];
}
/**
* @param WebdriverTester $I
*
*/
protected function test1(WebdriverTester $I, Example $example){
$I->see($example['version']);
}
public function startTest(WebdriverTester $I){
test1($I, $this->testingData);
}
我正在使用 Codeception 进行测试。我正在使用数据提供者并且一切正常。但我需要能够说 "i need to start only line 1 from data provider",我该怎么做?
protected function pageProviderTest(){
return[
['version' => 1],
['version' => 2],
['version' => 3],
];
}
/**
* @param WebdriverTester $I
* @dataProvider pageProviderTest
*/
public function test1(WebdriverTester $I, Example $example){
$I->see($example['version']);
}
例如,现在我只想测试测试是否看到“1”。其他我什至不想开始的测试。
所以我找到了答案。 你必须创建新的 Example 对象并给他你想要使用的参数,所以在这种情况下它看起来像:
private $testingData;
public function __construct()
{
$this->testingData = new Example(pageProviderTest[0]); // enter the num of line in field
}
protected function pageProviderTest(){
return[
['version' => 1],
['version' => 2],
['version' => 3],
];
}
/**
* @param WebdriverTester $I
*
*/
protected function test1(WebdriverTester $I, Example $example){
$I->see($example['version']);
}
public function startTest(WebdriverTester $I){
test1($I, $this->testingData);
}