千家信息网

phpunit中怎么执行指定测试case

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章将为大家详细讲解有关phpunit中怎么执行指定测试case,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一. 问题一个测试文件中,可能包含多
千家信息网最后更新 2025年01月31日phpunit中怎么执行指定测试case

这篇文章将为大家详细讲解有关phpunit中怎么执行指定测试case,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一. 问题

一个测试文件中,可能包含多个case,如何只执行其中的某个或某几个case呢?

比如下面的这段测试代码(demotest.php),是否可以只执行针对FuncA的两个测试~testFuncA_1,testFuncA_2呢?

assertTrue(true);    }        public function testFuncA_2(){        echo "\nFuncA2 test\n";        $this->assertTrue(true);    }    public function testFuncB_1(){        echo "\nFuncB1 test\n";        $this->assertTrue(true);    }    public function testFuncB_2(){        echo "\nFuncB2 test\n";        $this->assertTrue(true);    }}

二. 解决

2.1 方法一 @group

可以用 @group 标注来标记某个case属于一个或多个组,就像这样:

class MyTest extends PHPUnit_Framework_TestCase{    /**     * @group specification     */    public function testSomething(){    }    /**     * @group regresssion     * @group bug2204     */    public function testSomethingElse(){    }}

测试可以基于组来选择性的执行,使用命令行phpunit的 --group选项+组名,可以执行对应测试组的测试。

对于1中的问题,我们可以做如下标注:

class Unittest_Demo extends TestCase{    /**      *@group FuncA     * */    public function testFuncA_1(){        ... ...    }    /**      *@group FuncA     * */    public function testFuncA_2(){         ... ...    }        ...

执行

phpunit test.php --group FuncA

得到结果

PHPUnit 6.5.3 by Sebastian Bergmann and contributors..FuncA1 test.                                                              2 / 2 (100%)FuncA2 testTime: 88 ms, Memory: 8.00MBOK (2 tests, 2 assertions)

可以使用--list-group选项,查看文件中存在的group。
比如针对上例,我们执行的效果如下:

phpunit test.php --list-groupPHPUnit 6.5.3 by Sebastian Bergmann and contributors.Available test group(s): - FuncA - default

default分组就是未特别标识的case(testFuncB_1,testFuncB_2)。有需要,你可以使用如下命令执行这些case。

phpunit test.php --group default
特别注意

@group是以注释的形式存在,注释的第一行必须是/**,否则phpunit将不识别。

2.2 方法二 --filter

命令行的phpunit支持如下选项:

--filter 

可以用于筛选满足条件的用例。

对于1中的问题,我们可以执行通过如下命令达到目的。

phpunit test.php --filter FuncA

说明

  • pattern部分类似于mysql的like,即%FuncA%。因此命中了名为testFuncA_1,testFuncA_2的两个case。

关于phpunit中怎么执行指定测试case就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

测试 命令 问题 两个 内容 多个 文件 文章 方法 更多 注释 知识 篇文章 不错 一行 代码 就是 形式 效果 条件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 icloud连接到服务器时出现问题 福州云间菡网络技术有限公司 数据库产品市场占比 南京古檀 网络安全 数据库审计能删掉记录吗 信息化建设软件开发证书 物理服务器管理口协议 crm软件开发服务 广州善班互联网科技公司 网络安全法 安全审计 软件开发关键指标 长春朝阳区网络安全培训 网络安全海报宣传语 数据库匹配函数怎么用 服务器坏了多长时间能修好 服务器应该有什么好玩的指令 未来网络技术的新特点 服务器 证书管理系统 软件开发职业好找吗 软件设计 数据库架构图 阿里云服务器怎么安装代理服务器 软件开发服务资质三级认证中心 德阳一手楼盘销售软件开发 网络安全法几章多少条大约多少字 佛山纺织软件开发 中等职业学校网络技术培训结束 通州区网络软件开发口碑推荐 华为网络技术有限公司简介 数据库第5版第四章课后题答案 手抄报网络安全主题手抄报
0