Ребят, кто работал со структурой Codeception 2.2.3 + Gherkin. У меня возник вопрос по разработке BDD (Gherkin)
По примеру BDD я создал фичу.
Вот мой пример login.feature
Feature: login
In order to login
As a enter login and password
I need to navigate home page
Scenario: successfully login
Given I click Sign in on the home page
When I enter “login” and “password”
And I click on the button Login
Then I should see My Dashboard
Далее в AcceptanceTester я создал такую структуру
<?php
class AcceptanceTester extends \Codeception\Actor
{
use _generated\AcceptanceTesterActions;
/** * @Given I click Sign in on the home page */ public function IClickOnSignInOnTheHomePage() { $this->amOnPage('/'); $this->click('Sign in', '.fright'); }
/** * @When I enter :arg1 and :arg2 */ public function iEnterAnd($arg1, $arg2) { $this->fillField('#email',$arg1); $this->fillField('#pass',$arg2); }
/** * @When I click on the button Login */ public function iClickOnTheButtonLogin() { $this->click('#send2'); }
/** * @Then I should see My Dashboard */ public function iShouldSeeMyDashboard() { $this->waitForElement('.dashboard'); $this->see('My Dashboard','.page-title'); }
Следующим шагом запускаю эту фичу командой
codecept run acceptance --steps --debug login.feature
И вот консоль где отображается человеческий сценарий
В целом работает. Однако мне интересно возможно ли оптимизировать, создав Cest класс и в дальнейшем запускать по группам? Так как в одном классе AcceptanceTester если будут находится куча тестов это очень проблематично