С помощью функции кодирования в настоящее время я тестирую свой сервер API.
Перед каждым тестом в файле CEST, который я создаю, в функции _before, пользователь:
public function _before(ApiTester $I)
{
$user = $I->make(common\models\user\User::class);
$I->amGoingTo("Save user via api");
$I->sendPOST("/users", [
'e_mail' => $user->e_mail,
'username' => $user->username,
'password' => $user->password,
'lat' => $user->lat,
'lng' => $user->lng,
'date_of_birth' => $user->date_of_birth,
'place_of_birth' => $user->place_of_birth,
'state' => $user->state,
'city' => $user->city,
'zip_code' => $user->zip_code,
'address' => $user->address,
'name' => $user->name,
'surname' => $user->surname,
'default_currency' => $user->default_currency,
'default_language' => $user->default_language,
'default_timezone' => $user->default_timezone,
'default_country' => $user->default_country
]);
$I->seeResponseCodeIs(Codeception\Util\HttpCode::CREATED);
$I->seeResponseIsJson();
$this->private_id= $I->grabDataFromResponseByJsonPath('id')[0];
$this->access_token_private = $I->login($user->username, $user->password);
}
Все данныегенерируется с помощью faker.
Иногда, когда я запускаю тесты, faker генерирует имя пользователя, которое уже существует на моем сервере, и я получаю ошибку 400.
Существует ли способ повторения создания пользователя до тех пор, пока утверждение $I->seeResponseCodeIs(Codeception\Util\HttpCode::CREATED);
не потерпит неудачу?
Заранее спасибо за помощь