Интеграционные тесты через аутентификацию Facebook - PullRequest
2 голосов
/ 21 марта 2012

Я разрабатываю приложение, в котором единственным способом доступа к защищенным страницам является аутентификация Facebook. В этом кенарио мне нужно войти в систему с тестовым пользователем Facebook и выполнить мои тесты.

Я использую PHP-SDK, поэтому мне нужно найти способ войти в систему с помощью пользовательского теста только с помощью PHP (без JavaScript) и без браузера и файлов cookie (поскольку мои тесты выполняются только в командной строке, эмулируя браузер, без селена, например).

Идеи о том, как я могу проверить свои защищенные страницы, единственный доступ к которым - использование пользователя Facebook?

Ответы [ 2 ]

1 голос
/ 24 января 2013

Facebook теперь имеет тестовых пользователей, которые могут использовать большую часть Facebook, за исключением взаимодействия с реальными пользователями.Вы можете создать их в панели управления вашего разработчика или через Graph API.Есть даже вызов API, который позволяет автоматически создавать дружеские отношения между вашими тестовыми пользователями.https://developers.facebook.com/docs/test_users/

1 голос
/ 21 марта 2012

Я не знаком с PHP-SDK, но на более общем уровне я бы заглушил Facebook .

Ваши тесты не должны зависеть от стороннего сервиса: сборка может завершиться неудачей, потому что Facebook не работает, и ваш тест будет медленным, так как ему нужно ждать, пока Facebook отчитается каждый раз.

Не можете ли вы заглушить конечную точку Facebook и отправить свой ответ обратно (такой, который похож на Facebook)? Вы можете сделать это с помощью HTTP-фейкера. Для Ruby я бы использовал что-то вроде FakeWeb , но, вероятно, есть некоторые похожие инструменты для PHP.

...