加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-07-23 04:14:01 所属栏目:PHP 来源:互联网
导读:我使用命令行运行测试时遇到问题:如果我运行phpunit这样: phpunit -–no-configuration -–filter testAdd DataTest DataProviderTest.php 它工作正常 但是我们使用正则表达式来精确地指定要测试的方法的名称: phpunit -–no-configuration -–filter /::t

我使用命令行运行测试时遇到问题:如果我运行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

(编辑:莱芜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读