【问题标题】:Laravel 5.1 mocking 'unique' validation ruleLaravel 5.1 模拟“唯一”验证规则
【发布时间】:2016-04-08 14:58:13
【问题描述】:

我们在应用程序上使用“唯一”规则进行验证,但对于测试,我们通过使用存储库模式来模拟数据库层。有没有办法模拟unique 规则使其不尝试检查数据库?

我尝试模拟 Illuminate\Validation\Validator::validateUnique 它不起作用,但由于该方法受到保护。

【问题讨论】:

    标签: php validation unit-testing laravel laravel-5.1


    【解决方案1】:

    unique 规则以及其他一些规则(例如 exists)使用 presence verifier 进行验证检查。默认情况下使用 DatabasePresenceVerifier。它实现了由 2 个方法组成的 PresenceVerifierInterface。您可以模拟该验证程序的方法并在测试期间使用它。您可以使用

    访问验证器
    \Validator::getPresenceVerifier()
    \Validator::setPresenceVerifier()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-27
      • 2018-05-24
      • 1970-01-01
      • 2016-08-03
      • 2019-11-15
      • 2020-09-13
      • 2019-12-14
      • 2016-01-13
      相关资源
      最近更新 更多