【问题标题】:PHPUnit ignores annotationsPHPUnit 忽略注释
【发布时间】:2016-05-22 14:59:51
【问题描述】:

我在测试一个简单的 laravel 项目时遇到了麻烦。 Laravel 版本是 5.1,PHPUnit 版本是 5.2.4。 示例:

<?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 打印一个句号,然后执行 f2 并输出一个空数组。实际发生的是测试 f1 和 f2 被忽略,执行 testF1 导致一个句号,然后执行 testF2 导致一个 E。例外是:

ErrorException: MissionTest::testF2() 缺少参数 1

我刚开始使用 PHPUnit,无论我尝试了什么,我都无法让它按预期工作。任何帮助将不胜感激。

编辑:忘了提到 TestCase 扩展了 Illuminate\Foundation\Testing\TestCase 并简单地覆盖了 createApplication 方法。

【问题讨论】:

    标签: unit-testing laravel-5 phpunit


    【解决方案1】:

    这就是它的工作原理。检查the documentation。它强调:

    PHP 中的文档注释必须以/** 开头并以*/ 结尾。任何其他样式的注释都将被忽略。

    【讨论】:

    • 我不敢相信这是这么愚蠢的事情。谢谢,我从来没有注意到这一点。
    猜你喜欢
    • 1970-01-01
    • 2021-05-11
    • 2011-11-13
    • 2012-07-16
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多