【问题标题】:Run one file or map in phpunit在 phpunit 中运行一个文件或映射
【发布时间】:2016-06-06 10:00:57
【问题描述】:

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

无法打开文件 “测试/结果测试/学校/deleteSchoolForRealTest.php”。

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

【问题讨论】:

  • 确保字母大小写正确,这取决于您的文件系统,路径可能区分大小写。

标签: php laravel phpunit


【解决方案1】:

你做的一切都是正确的。

1)

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

phpunit tests/EWalletTest

当我忘记从“测试”文件夹开始时,我遇到了同样的错误

phpunit EWalletTest

我明白了

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

2)

过滤器是另一种选择。 read here 示例:

phpunit --filter EWallet

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

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

【讨论】:

    【解决方案2】:

    使用过滤选项

    phpunit --filter=EWalletTest
    

    【讨论】:

      【解决方案3】:

      使用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>
      

      属于活跃组的类将被执行。

      【讨论】:

        猜你喜欢
        • 2012-08-20
        • 1970-01-01
        • 1970-01-01
        • 2016-01-09
        • 2017-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多