在phpunit中运行一个文件或映射

时间:2016-02-24 08:13:50

标签: php laravel phpunit

我正在使用laravel并且我已经编写了一些测试文件。但是我怎么能只执行一个文件呢?当我这样做时:phpunit tests/resulttesting/school/deleteSchoolForRealTest它会抛出一个错误:

  

无法打开文件   "测试/ resulttesting /学校/ deleteSchoolForRealTest.php"

当我运行phpunit时,它会运行我的所有测试。我怎么能只执行一个文件夹?我在Mac上。

3 个答案:

答案 0 :(得分:18)

你正在做的一切。

1)添加文件夹的第一种方法。  我的正确方法是:

phpunit tests/EWalletTest

当我忘记从“tests”文件夹

开始时,我遇到了同样的错误
phpunit EWalletTest

我得到了

  

无法打开文件“EWalletTest.php”。

2)过滤器是另一种选择。 read here 例如:

phpunit --filter EWallet
  

仅运行名称与给定正则表达式模式匹配的测试。

这意味着您将执行文件EWalletTestEWalletFooTest以及来自其他文件的测试用例,例如`test_EWallet_with_Australian_dollar。

答案 1 :(得分:11)

使用过滤器选项

phpunit --filter=EWalletTest

答案 2 :(得分:0)

使用phpunit.xml

@group选项可用于类和方法。

A级

/**
 * @group active
 * */
class ArrayShiftRightTest extends TestCase
{
}

B级

/**
 * @group inactive
 * */
class BinaryGapTest extends TestCase
{    
}

在phpunit.xml中

<groups>
    <include>
        <group>active</group>
    </include>
    <exclude>
        <group>inactive</group>
    </exclude>
</groups>

将执行属于活动组的类。