在PHPUnit中无法与数据提供程序一起运行单独测试

我使用命令行运行测试时遇到问题:如果我运行phpunit这样:

phpunit -–no-configuration -–filter testAdd DataTest DataProviderTest.php

它工作正常
但是我们使用正则表达式来精确地指定要测试的方法的名称:

phpunit -–no-configuration -–filter /::testAdd$/ DataTest DataProviderTest.php

第二种方法不幸的是不工作.
源代码是:

<?php
class DataTest extends PHPUnit_Framework_TestCase
{
    /**
     * @dataProvider provider
     */
    public function testAdd($a,$b,$c)
    {
        $this->assertEquals($c,$a + $b);
    }

    public function provider()
    {
        return array(
          array(0,0),array(0,1,1),array(1,3)
        );
    }
}

?>

用于处理具有或不具有数据集的测试的正则表达式是

phpunit --filter "/::<method>( with data set .*)?$/" <class> <file>

例如

phpunit --filter "/::testAdd( with data set .*)?$/" DataTest DataProviderTest.php

由于测试方法在名称中不会有空格,除非它具有数据集,那么您可以将其缩小到

phpunit --filter "/::testAdd( .*)?$/" DataTest DataProviderTest.php

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。