>

나는 FacebookBundle 를 사용한다  Symfony2 애플리케이션에서 사용자를 인증합니다. 그러나 인증 된 사용자를 사용하는 phpunit으로 기능 테스트를 만들고 싶습니다.

또한 페이스 북 사용자는 사용하고 싶지 않지만 코드화 된 사람은 없습니다.

이걸 구현하는 방법을 아는 사람이 있습니까?

  • 답변 # 1

    실제로는 매우 간단합니다.

    <올>

    설정 security.yml  테스트 환경 (Symfony 2.0-RC3의 스 니펫)

    security:
        encoders:
            Symfony\Component\Security\Core\User\User: plaintext
        providers:
            in_memory:
                users:
                    user:  { password: userpass, roles: [ 'ROLE_USER' ] }
                    admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
        firewalls:
             secured-area:
                 pattern:    ^/demo/secured/
                 http_basic:
                     realm: "Secured Demo Area"
    
    

    에서 볼 수 있듯이 HTTP 인증이 정의되어 있습니다. 이제 기능 테스트에서 클라이언트를 설정하기 만하면됩니다 :

    $client = static::createClient(array(), array(
        'PHP_AUTH_USER' => 'user',
        'PHP_AUTH_PW'   => 'userpass',
    ));
    
    

    <시간>

    이 링크는 유용 할 수 있습니다 : http://symfony.com/doc/current/testing.html

  • 이전 security - 돌이킬 수없는 자바 데이터 파괴
  • 다음 wcf - MaxItemsInObjectGraph 오류를 수정하는 방법?