Я хочу запустить тест Codeception CEST в разных средах / этапах с разными утверждениями в зависимости от параметра «--skip-group», поскольку существуют также полные тесты, которые пропускаются на основе этого параметра:
- в непроизводственной среде / стадии (тесты выполняются без каких-либо настроек "--skip-group"). Я хочу использовать
seeInDatabase
для очень оборонительных / строгих утверждений - такой доступ к БДне допускается по соображениям безопасности в производственной среде (тесты выполняются с параметром --skip-group)
Я пытался:
Это мои теперь дублированные тесты, которые я хочу заменить одним тестом с условным вызовом seeFormSubmissionInDatabase
(см. «//! ЗДЕСЬ»)
/**
* @param Front\Forms\ContactForm\PageObject $contactFormPage
* @group nonProductionTest
*/
public function submitContactFormSuccessful(Front\Forms\ContactForm\PageObject $contactFormPage) {
$firstName = 'User' . uniqid();
$contactFormPage->openPage();
$contactFormPage->fillFormWithValidData($firstName);
$contactFormPage->fillFormWithPrivacyAcceptance();
$contactFormPage->submitForm();
$contactFormPage->seeValidFormSubmission();
// TODO: instead of "@group nonProductionTest" for test and duplication submitContactFormSuccessfulWithoutDb()
// if not group skip nonProductionTest then also check
$contactFormPage->seeFormSubmissionInDatabase($firstName); // ! HERE
}
/**
* TODO: Duplication of submitContactFormSuccessful() test above
* @param Front\Forms\ContactForm\PageObject $contactFormPage
*/
public function submitContactFormSuccessfulWithoutDb(Front\Forms\ContactForm\PageObject $contactFormPage) {
$firstName = 'User' . uniqid();
$contactFormPage->openPage();
$contactFormPage->fillFormWithValidData($firstName);
$contactFormPage->fillFormWithPrivacyAcceptance();
$contactFormPage->submitForm();
$contactFormPage->seeValidFormSubmission();
}