Prueba de unidad Solicitud de formulario de Laravel

Estoy tratando de probar varias unidades personalizadasFormRequest entradas Encontré soluciones que:

Sugerir usar el$this->call(…) método y afirmar elresponse con el valor esperado(enlace para responder). Esto es excesivo, porque crea una dependencia directa enEnrutamiento yControladores.

Prueba de Taylor, de laMarco Laravel encontrado en tests/Foundation/FoundationFormRequestTest.php. Hay muchas burlas y gastos generales allí.

Estoy buscando una solución en la que pueda probar las entradas de campo individuales contra las reglas(independiente de otros campos en la misma solicitud).

Solicitud de formulario de muestra:

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',
    ];
}

Prueba deseada:

public function testFirstNameField()
{
   // assertFalse, required
   // ...

   // assertTrue, required
   // ...

   // assertFalse, between
   // ...
}

public function testLastNameField()
{
    // ...
}

¿Cómo puedo hacer una prueba unitaria(afirmar) Cada regla de validación de cada campo de forma aislada e individual?

Respuestas a la pregunta(1)

Su respuesta a la pregunta