在Symfony 6.1中,单元测试自定义验证器添加到实体中不起作用

Unit test custom validators added to an Entity in Symfony 6.1 not working

提问人:Geek 提问时间:5/25/2023 更新时间:5/25/2023 访问量:27

问:

我在一个类中使用 (Symfony\Component\Validator\Constraint) 添加了 2 个自定义验证器。 但是单元测试没有通过。

例如:

use App\Validator as App Assert;
    class Person
    {
    #[App Assert\Person Exists(message: 'Person not found')]
    private ?string $person Id;
    
    #[App Assert\House Exists(message: 'House not found')]
    #[Assert\Not Null
    private ?string $house Id;
    }

您知道如何编写单元测试来验证 Person 对象$person吗?因为我尝试了几件事,但没有用。

在我的测试中,我做了这样的事情:

$person = new Person([
      'person' => 'non-existent-library-id',
    ]);

    $violations = $this->validator->validate($person);

    $this->assert Count(1, $violations);
    $this->assert Same('Person not found.', $violations[0]->get Message());

先谢谢你。

单元测试 symfony validation phpunit

评论

0赞 AymDev 5/25/2023
为什么在不该有的地方有空格?此代码不起作用。
0赞 Hans FooBar 5/26/2023
@Geek 您是否为自定义验证器编写了 UnitTest 以确保它们正常工作?

答: 暂无答案