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)
发现问题 - 每次都返回 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)