Laravel Test에서 사용할 수 있는 로그인 Helper Function cover image

Laravel Test에서 사용할 수 있는 로그인 Helper Function

김재동 • January 20, 2019

laravel test

Laravel에서 테스트를 작성하다 보면 특정 사용자로 로그인을 해야 할 때가 있다. Laravel에서 기본적으로 제공하는 be()actingAs()를 이용할 수도 있지만 다음과 같은 함수를 TestCase.php에 작성해 두면 편리하게 활용할 수 있다.

abstract class TestCase extends BaseTestCase
{
    use CreatesApplication;

    protected function signIn($user = null)
    {
        return $this->actingAs($user ?: factory('App\User')->create());
    }
}

테스트에서 SignIn()을 호출하면 자동으로 사용자를 생성하고 특정 사용자 인스턴스를 매개변수로 넘겨주면 해당 사용자로 로그인한다.