Как выполнить модульное тестирование моего потребительского приложения Google OpenID? - PullRequest
3 голосов
/ 23 февраля 2011

Мое веб-приложение является потребителем Google OpenID (с Attribute Exchange и расширением OAuth), и мне нужно написать для него какой-то модульный тест [править: для проверки модуля, отвечающего за взаимодействие с Google].

Проблема в том, что для стандартной процедуры входа в систему OpenID требуется взаимодействие с пользователем (ввод пользователя / прохода), что невозможно при модульном тестировании.

Есть ли у вас какие-либо идеи, как решить эту проблему и протестировать модуль моего потребительского приложения OpenID??

(я предпочитаю не запускать свой собственный поставщик OpenID.)

Ответы [ 2 ]

1 голос
/ 04 июля 2012

Для этого вам нужно использовать браузер с дистанционным управлением. Selenium был создан для этого варианта использования.

(тогда они действительно называются функциональными тестами).

Найдите в Google лучший способ интеграции тестов селена в вашу сеть.рамки.

1 голос
/ 20 февраля 2012

Если я понимаю, что вы хотите протестировать все ваше приложение, а не просто «модульное тестирование» его. Фактическая структура тестирования зависит от технологии, используемой вашим приложением. Например, существует множество инструментов для пользовательского интерфейса и веб-автоматизации, которые могут делать то, что вы хотите.
Вам также следует выполнить модульное тестирование вашей основной функциональности или, по крайней мере, написать несколько интеграционных тестов, которые работают с реальным поставщиком Openid, но вместо запуска всего приложения просто протестируйте функциональность класса (если вы используете язык, который имеет классы), чтобы убедиться, что это может получить б. Я также написал бы несколько модульных тестов, которые вызывают фальшивого провайдера, чтобы проверить, как ваш код ведет себя в случае ошибок, проблем с соединением и простых ванильных ответов.

...