Laravel 单元测试 - 如何检查验证规则或类?

Jim*_*mmy 3 php unit-testing laravel

我正在做一个学校项目,我们必须提交一些单元测试示例。我阅读了很多教程,但无法理解如何使用它。

这是我下面的代码,

我正在尝试通过手动输入检查我的验证规则:

<?php



class Student {

    public static $rules = array(

    'username'=>'required|alpha_num|min:6',

    'firstname'=>'required|alpha|min:2',

    'lastname'=>'required|alpha|min:2',

    'studentid'=>'numeric|min:7|unique:student',

    'email'=>'required|email|unique:student',

    'password'=>'required|alpha_num|between:6,12|confirmed',

    'password_confirmation'=>'required|alpha_num|between:6,12'

    );



}

class ChronosTest extends TestCase {

    public function testUser()
    {

        $student = new Student;

        //$student->username = "john433";



        $validator = Validator::make(array("username"=>"john433", "firstname"=>"johne"), Student::$rules);

        $this->assertTrue($validator->passes());



    }

}
Run Code Online (Sandbox Code Playgroud)

每次我使用assertTrue时我都会得到这个:

附加值
(来源:4.ii.gl

每次我使用assertFalse时我都会得到这个:

附加值
(来源:1.ii.gl

Jim*_*mmy 5

发现问题 - 每次都返回 false,因为我没有包含所有必需的输入,例如密码等。

以下工作正常:

$validator = Validator::make(array(
    "username"=>"john433",
    "firstname"=>"john",
    "lastname"=>"doe",
    "email"=>"johnerr@gmail.com",
    "password"=>"passtest",
    "password_confirmation"=>"passtest"
), Student::$rules);
Run Code Online (Sandbox Code Playgroud)