背景
我目前正在对我的验证器进行单元测试,我想我会尝试通过查看与Symfony捆绑在一起的验证器来获取一些指示。
我注意到在他们的约束类中,他们有一个存储guid的const
。例如:
class Url extends Constraint
{
const INVALID_URL_ERROR = '57c2f299-1154-4870-89bb-ef3b1f5ad229';
//...
此代码在验证器中使用,如下所示:
$this->context->buildViolation($constraint->message)
->setParameter('{{ value }}', $this->formatValue($value))
->setCode(Url::INVALID_URL_ERROR)
->addViolation();
在单元测试中使用如下:
$this->buildViolation('myMessage')
->setParameter('{{ value }}', '"'.$url.'"')
->setCode(Url::INVALID_URL_ERROR)
->assertRaised();
问题
这可能是一个愚蠢的问题,但为什么这样做呢?
我认为它也确保传递正确的东西,但我脑子里想出的任何解释都非常微弱且手工波浪状。我无法理解它。