Laravel:将测试组织到文件夹中并运行它们

时间:2014-12-28 15:46:31

标签: unit-testing laravel phpunit

Laravel是否可以根据他们放置的文件夹进行单元测试?

目前, phpunit.xml 指定 / tests 作为单元测试的根目录:

...
<testsuites>
    <testsuite name="Application Test Suite">
        <directory>./app/tests/</directory>
    </testsuite>
</testsuites>
...

使用phpunit命令通过CLI运行测试。我想将测试组织到子文件夹中,如下所示:

/测试

  • /单元
  • /集成

所以我只能从指定的子文件夹运行测试,例如:phpunit integration

我尝试了上述内容,但框架假定&#34;整合&#34;是不存在的PHP文件的名称。

我如何实现目标?

1 个答案:

答案 0 :(得分:18)

这实际上与Laravel无关。它只是PHPUnit。

您可以定义testsuites并按名称执行它们。

<testsuites>
    <testsuite name="unit">
        <directory>./app/tests/unit/</directory>
    </testsuite>
    <testsuite name="integration">
        <directory>./app/tests/integration/</directory>
    </testsuite>
</testsuites>

然后运行phpunit --testsuite integration