Laravel phpunit'未定义变量:错误'

时间:2017-04-23 09:07:10

标签: laravel-5.2 phpunit

我尝试将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

多米尼克

1 个答案:

答案 0 :(得分:0)

我发现错误(但不知道这是否是真正的原因......)

当我在我的班级中创建多个函数时,我有错误。 当我在我的班级中只创建一个函数时,我没有错误。

所以我决定每个测试类只创建一个函数(即使函数可能很长......)。

的Dom