Laracasts \ Validation \ FormValidationException: проверка не удалась

В 10-м видео Сборка Larabook с нуля Учебник Laracasts, автор запускает функциональный тест, который становится зеленым:

введите описание изображения здесь

где t это псевдоним для vendor/bin/codecept run functional в бродяге vm,

Однако, когда я запускаю тот же тест, он становится красным:

vagrant@homestead:~/larabook$ vendor/bin/codecept run functional
Codeception PHP Testing Framework v2.0.7
Powered by PHPUnit 4.3.4 by Sebastian Bergmann.

Functional Tests (1) ----------------------------------------------------------------------------------------
Trying to sign up for a Larabook account (SignUpCept)                                                   Error
-------------------------------------------------------------------------------------------------------------Time: 3.56 seconds, Memory: 18.75Mb

There was 1 error:

---------
1) Failed to sign up for a larabook account in SignUpCept (/home/vagrant/larabook/tests/functional/SignUpCept.php)
Couldn't click "Sign Up":
Laracasts\Validation\FormValidationException: Validation failed

Scenario Steps:
9. I click "Sign Up"8. I fill field "Password Confirmation:","demo"7. I fill field "Password:","demo"6. I fill field "Email:","[email protected]"5. I fill field "Username:","JohnDoe"4. I see current url equals "/register"3. I click "Sign Up!"

FAILURES!
Tests: 1, Assertions: 1, Errors: 1.

Вот содержание моего SignUpCept.php файл:

<?php

$I = new FunctionalTester($scenario);
$I->am('a guest');
$I->wantTo('sign up for a Larabook account');

$I->amOnPage('/');
$I->click('Sign Up!');
$I->seeCurrentUrlEquals('/register');

$I->fillField('Username:', "JohnDoe");
$I->fillField('Email:', "[email protected]");
$I->fillField('Password:', "demo");
$I->fillField('Password Confirmation:', "demo");
$I->click('Sign Up');

$I->seeCurrentUrlEquals('');
$I->see('Welcome to Larabook!');
$I->seeRecord('users', [
'username' => 'JohnDoe',
'email' => '[email protected]'
]);

$I->assertTrue(Auth::check());

Я должно быть что-то упустил, но я не могу понять, что.

Любая идея?

1

Решение

Проблема возникла из-за того, что в тесте использовались те же данные (имя пользователя, адрес электронной почты и пароль), что и для пользователя, который уже был в базе данных.

Поскольку проверка проверяет уникальность каждого нового пользователя, тест не удался.

Я просто удалил существующего пользователя из базы данных, и тест пройден.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]