php分组测试允许您组合多个测试,以了解代码的行为。语法:$this-youjiankuohaophpcnexpectgroups(['group-name1', 'group-name2']) -youjiankuohaophpcnwill(...);。实战案例:测试getuser和getname函数一起工作时,您可以期望两者都执行expectgroups(['user', 'get']),并按顺序提供特定返回will。分组名称可以是任何字符串,可以将测试分配给多个分组,分组测试可以与其他phpunit断言方法一起使用。

如何使用分组测试PHP函数?
分组测试允许您将多个测试组合到一个逻辑分组中,从而可以更深入地了解代码的行为。
语法
$this->expectGroups(['group-name1', 'group-name2'])
->will(...);其中:
立即学习“PHP免费学习笔记(深入)”;
一个功能强大的B2B与B2C的购物平台,除了原本OSC功能外,增加更新的功能: 一、 取消了register_globals必须开启的限制 二、 將HTML程式碼与PHP程式碼完全分离,採用了smarty 樣板引擎 三、 每支档案includes所需函数与资料库连结,使的网页显示速度明显提升 四、 检视、购买商品群组权限设定 五、 十八岁以下禁购机制 六、 折价券购物抵扣机制 七、 礼券购物机制
-
group-nameX是您要将测试归入的分组名称
实战案例
假设我们有两个函数:getUser 和 getName。我们想测试 getUser 和 getName 一起工作时,这些函数的行为。我们可以使用分组测试来验证这一点:
public function testFunctional(): void
{
$this->expectGroups(['user', 'get'])
->will($this->returnValue(['name' => 'John Doe']))
->will($this->returnValue('John Doe'));
$user = $this->getUser();
$name = $this->getName($user);
$this->assertEquals('John Doe', $name);
}在这个测试中,我们期望 getUser 和 getName 都执行(expectGroups),并按顺序提供特定的返回(will)。我们随后调用这些函数并断言结果正确。
注意事项
- 分组名称可以是任何字符串,只要它对于您的测试有意义即可。
- 可以将一个测试分配给多个分组。
- 分组测试可以与其他 PHPUnit 断言方法一起使用,例如
assertEquals和assertCount。










