使用数据提供程序进行Laravel验证测试

时间:2020-05-01 08:58:53

标签: php laravel validation testing phpunit

我有laravel规则验证,我想测试所有这些问题,并使用phpunit通过一种方法和dataProvider给出规则

例如,我有规则required|string|max:255我要测试required string and max:255个规则,而无需单独编写测试方法

但是我只能对required条规则执行此操作,我只想测试第二条规则,例如digit_between的身份字段,但是first_name字段没有digit_between却是{{ 1}}

  1. 这是我的示例规则代码
string

2。测试代码:

    {
     return [
      'identity_number' => 'required|digits_between:1,255|unique:borrowers',
      'first_name'      => 'required|string|max:255',
      'last_name'       => 'required|string|max:255',
      'birthdate'       => 'required|date',
     ];
    }

1 个答案:

答案 0 :(得分:0)

每个索引都是一个测试场景,所以第一个场景是测试所需的验证, 第二种情况是digits_between:1,255,我们为identity_number设置了256,因为您已经定义了范围号,其余的都可以看到。

/**
     * Required store data validation provider.
     *
     * @return \string[][]
     */
    public function requiredStoreValidationProvider()
    {
        return [
            ['identity_number', ''],
            ['identity_number', 256],
            ['first_name', ''],
            ['first_name', 123],
            ['first_name', str_random(256)],
            ['last_name', ''],
            ['last_name', 123],
            ['last_name', str_random(256)],
            ['birthdate', ''],
        ];
    }