我正在做一个学校项目,我们必须提交一些单元测试示例。我阅读了很多教程但却无法理解如何使用它。
这是我的代码,
我试图通过手动输入检查验证规则:
<?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());
}
}
每次使用assertTrue时都会得到这个:
每次使用assertFalse时都会得到这个:
答案 0 :(得分:4)
发现问题 - 每次都返回false,因为我没有包含所有必需的输入,如密码等。
以下工作正常:
$validator = Validator::make(array(
"username"=>"john433",
"firstname"=>"john",
"lastname"=>"doe",
"email"=>"johnerr@gmail.com",
"password"=>"passtest",
"password_confirmation"=>"passtest"
), Student::$rules);
答案 1 :(得分:0)
您要测试的是Laravel代码。一个人根本不想测试他/她没有写自己的代码。尝试寻找新的例子。也;静态属性很难测试,因为它们不能被模拟。我想你还有很多需要学习的地方。这里有关于如何编写测试和测试内容的好文章:https://medium.com/laravel-4/48414f4782d0