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

前端之家收集整理的这篇文章主要介绍了在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

猜你在找的PHP相关文章