如何在phpunit中添加自定义约束?

如何在phpunit中添加自定义约束?,php,phpunit,Php,Phpunit,我希望通过PHPUnit中的自定义值来比较接口。遗憾的是,内置的方法还不够,我想扩展它们来添加我自己的比较 我可以从中看出,有一种实现新断言的标准方法。然而,从源代码中也可以看出,您只需编写一个自定义比较器,然后在某个地方使用它 在哪里(以及如何)注册自定义比较器?这实际上非常简单 您可以在源代码中看到一个示例 要添加自己的比较器,请使用SebastianBergmann\Comparator\Factory的单例实例在PHPUnitbootstrap.php文件中注册比较器 use Sebas

我希望通过PHPUnit中的自定义值来比较接口。遗憾的是,内置的方法还不够,我想扩展它们来添加我自己的比较

我可以从中看出,有一种实现新断言的标准方法。然而,从源代码中也可以看出,您只需编写一个自定义比较器,然后在某个地方使用它


在哪里(以及如何)注册自定义比较器?

这实际上非常简单

您可以在源代码中看到一个示例

要添加自己的比较器,请使用
SebastianBergmann\Comparator\Factory
的单例实例在PHPUnit
bootstrap.php
文件中注册比较器

use SebastianBergmann\Comparator\Factory;

$comparatorFactory = Factory::getInstance();
$comparatorFactory->register(new EquivalentComparator());
此后,在测试用例中对
$this->assertEquals
的任何调用都将使用比较器

比较器检查它是否对值有效,这使得它非常灵活