Unit Test Laravel's FormRequest
Ich versuche, verschiedene benutzerdefinierte Unit-TestFormRequest
Eingänge. Ich habe Lösungen gefunden, die:
Suggest mit dem$this->call(…)
Methode und behaupten dieresponse
mit dem erwarteten Wert (Link zur Antwort). Das ist übertrieben, weil es eine direkte Abhängigkeit von @ schaff Routing und Controller.
Taylors Test aus demLaravel Framework gefunden i tests/Foundation/FoundationFormRequestTest.php
. Es wird viel verspottet und Overhead gemacht.
ch suche nach einer Lösung, bei der ich einzelne Feldeingaben anhand der Regeln testen kan (unabhängig von anderen Feldern in derselben Anfrage).
Sample FormRequest:
public function rules()
{
return [
'first_name' => 'required|between:2,50|alpha',
'last_name' => 'required|between:2,50|alpha',
'email' => 'required|email|unique:users,email',
'username' => 'required|between:6,50|alpha_num|unique:users,username',
'password' => 'required|between:8,50|alpha_num|confirmed',
];
}
Gewünschter Test:
public function testFirstNameField()
{
// assertFalse, required
// ...
// assertTrue, required
// ...
// assertFalse, between
// ...
}
public function testLastNameField()
{
// ...
}
Wie kann ich Unit Test(behaupten Jede Validierungsregel für jedes Feld einzeln und einzeln?