4

クックブックの指示に従って、機能テスト内で HTTP 認証をシミュレートしました。

config_test.ymlに以下を追加しました:

security:
    firewalls:
        main:
            http_basic:
                realm: "Secured Demo Area"

そして、これは私のテストがどのように見えるかです:

class CourseControllerTest extends WebTestCase
{
    public function setUp()
    {
        $this->loadFixtures(array(
            'Herudio\Bundle\UserBundle\DataFixtures\ORM\LoadUserData',
            'Herudio\Bundle\CourseBundle\DataFixtures\ORM\LoadCategoryData',
            'Herudio\Bundle\CourseBundle\DataFixtures\ORM\LoadCourseData',
        ));
    }

    public function testListDisplaysAllEntities()
    {
        $client = static::createClient(array(), array(
            'PHP_AUTH_USER' => 'admin',
            'PHP_AUTH_PW'   => 'admin',
        ));

        $crawler = $client->request('GET', '/courses');

        $this->assertCount(1, $crawler->filter('tbody tr'), 'Unexpected entity count for GET /courses/');
    }
}

ただし、テストを実行すると、/loginにリダイレクトされます。

User エンティティが正しく作成されていることを確認しました。

注: 認証に FOSUserBundle を使用しています。

4

0 に答える 0