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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage