Как использовать только n-ю строку DataProvider в Codeception? - PullRequest
0 голосов
/ 13 февраля 2020

Я использую Codeception для тестирования. Я использую поставщиков данных, и все работает хорошо. Но мне нужно иметь возможность просто сказать: «Мне нужно запустить только строку 1 от поставщика данных», как я могу это сделать?

    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" . Другой тест, который я не хочу даже начинать.

1 Ответ

0 голосов
/ 13 марта 2020

Так что я нахожу ответ. Вы должны создать новый объект 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);
  }


...