我尝试将phpunit与laravel 5.2一起使用
当我运行此测试时:
class TestInscription extends TestCase
{
/******************************************************************************/
/* pour lancer le test : C:\wamp\www\compet>phpunit tests/TestInscription.php */
/******************************************************************************/
function __construct()
{
parent::setUp();
}
public function testInscriptionAvecErreur()
{
$this->visit('inscription')
->seePageIs('inscription')
->see('Inscription')
->type('', 'nom')
->type('', 'prenom')
->type('', 'email')
->type('', 'password')
->type('', 'password_confirm')
->press('bouton_valider')
->seePageIs('inscription')
->see('Nom obligatoire')
->see('Prénom obligatoire')
->see('Adresse email obligatoire')
->see('Mot de passe obligatoire');
}
==>我有回复"好的"。
当我在同一个类中添加第二个测试时,如下所示:
class TestInscription extends TestCase
{
/******************************************************************************/
/* pour lancer le test : C:\wamp\www\compet>phpunit tests/TestInscription.php */
/******************************************************************************/
function __construct()
{
parent::setUp();
}
public function testInscriptionAvecErreur()
{
$this->visit('inscription')
->seePageIs('inscription')
->see('Inscription')
->type('', 'nom')
->type('', 'prenom')
->type('', 'email')
->type('', 'password')
->type('', 'password_confirm')
->press('bouton_valider')
->seePageIs('inscription')
->see('Nom obligatoire')
->see('Prénom obligatoire')
->see('Adresse email obligatoire')
->see('Mot de passe obligatoire');
}
public function testInscriptionAvecErreurMdp()
{
$this->visit('inscription')
->seePageIs('inscription')
->see('Inscription')
->type('azerty', 'password')
->type('azertyu', 'password_confirm')
->press('bouton_valider')
->seePageIs('inscription')
->see('Les 2 mots de passe sont différents');
}
}
然后我在第一次测试时出错(第二次没有被触发)。错误是:
Time: 2.69 seconds, Memory: 20.50MB
There was 1 failure:
1) TestInscription::testInscriptionAvecErreur
A request to [http://localhost/inscription] failed. Received status code [500].
C:\wamp\www\compet\vendor\laravel\framework\src\Illuminate\Foundation\Testing\Concerns\InteractsWithPages.php:196
C:\wamp\www\compet\vendor\laravel\framework\src\Illuminate\Foundation\Testing\Concerns\InteractsWithPages.php:80
C:\wamp\www\compet\vendor\laravel\framework\src\Illuminate\Foundation\Testing\Concerns\InteractsWithPages.php:61
C:\wamp\www\compet\tests\TestInscription.php:21
C:\wamp\www\ecole\vendor\phpunit\phpunit\src\TextUI\Command.php:149
C:\wamp\www\ecole\vendor\phpunit\phpunit\src\TextUI\Command.php:100
Caused by
exception 'ErrorException' with message 'Undefined variable: errors' in C:\wamp\www\compet\storage\framework\views\7a56ba5973bcafaa00c3a5edb3816871f0ac8a17.php:44
我在这个观点中看到:
<div class="form-group <?php echo e($errors->has('nom') ? 'has-error has-feedback' : ''); ?>">
当然错误是因为这个变量&#34; $ errors&#34;,但是什么?
为什么第一次测试单独运行时运行正常。当我添加第二个测试时失败了吗?
的Merci
多米尼克
答案 0 :(得分:0)
我发现错误(但不知道这是否是真正的原因......)
当我在我的班级中创建多个函数时,我有错误。 当我在我的班级中只创建一个函数时,我没有错误。
所以我决定每个测试类只创建一个函数(即使函数可能很长......)。
的Dom