2016-02-11 3 views
0

У меня возникли проблемы с тестированием простого проекта laravel. Версия Laravel - 5.1, а версия PHPUnit - 5.2.4. Пример:PHPUnit игнорирует аннотации

<?php 
class MissionTest extends TestCase { 
    /* 
    * @test 
    */ 
    public function f1() { 
     return []; 
    } 

    /* 
    * @test 
    * @depends f1 
    */ 
    public function f2($a) { 
     dd($a); 
    } 

    public function testF1() { 
     return []; 
    } 

    /* 
    * @depends testF1 
    */ 
    public function testF2($a) { 
     dd($a); 
    } 
} 
?> 

Ожидаемое поведение было бы выполнить f1 напечатать одну fullstop затем f2 и выходной пустой массив. Что на самом деле происходит то, что тесты f1 и f2, игнорируются, testF1 выполняется в результате чего один fullstop, а затем testF2 выполняется в результате одного E. Исключение составляет:

ErrorException: Отсутствует аргумент 1 для MissionTest :: testF2 ()

Я только начал работать с PHPUnit и независимо от того, что я пробовал, я не мог заставить его работать должным образом. Любая помощь будет оценена.

Редактировать: Забыл отметить, что TestCase расширяет Illuminate \ Foundation \ Testing \ TestCase и просто переопределяет метод createApplication.

ответ

2

Так оно и работает. Проверьте the documentation. Он подчеркивает:

документ комментарии в PHP должны начинаться с /** и заканчиваться */. Аннотации в любом другом стиле комментария будут проигнорированы.

+0

Не могу поверить, что это было что-то такое глупое. Спасибо, я бы этого никогда не заметил. – r0t0r