Способы модульного тестирования Oauth для разных сервисов в ruby? - PullRequest
2 голосов
/ 29 мая 2010

Существуют ли рекомендации по написанию модульных тестов, когда в 90% случаев, когда я создаю класс соединения Oauth, мне нужно войти в удаленный сервис?

Я создаю rubygem, который регистрируется в Twitter / Google / MySpace и т. Д., И самое сложное - убедиться, что у меня есть правильные настройки для этого конкретного провайдера, и я хотел бы написать тесты для этого.

Есть ли рекомендуемый способ сделать это? Если бы я делал издевательства или заглушки, мне бы все равно пришлось потратить 90% времени на то, чтобы понять, как пользоваться сервисом, и в итоге я бы написал тесты после факта, а не до того ...

Что касается связанной заметки, если я создал тестовые ключи API для каждого поставщика Oauth и просто использовал его для гема в целях тестирования, есть ли какая-либо проблема в том, чтобы оставить ключ api и секрет в открытом виде в тестах? Чтобы другие люди могли проверить это более реалистично.

1 Ответ

2 голосов
/ 16 июня 2010

Нет ничего плохого в том, что вы включили живые сервисы в ваших интеграционных тестах.

вы должны полностью заглушить часть oauth в своих юнит-тестах

Если вы планируете открыть исходный код кода, который вы пишете, оставлять ключи API в коде может не быть хорошей идеей, поскольку вы можете столкнуться с ограничениями использования API или ограничением скорости, когда гем становится популярным, и люди запускают тесты. часто, что приведет к неожиданным сбоям теста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...