Как использовать doctest на клиентском скрипте? - PullRequest
0 голосов
/ 17 ноября 2009

Я играю с Google Calendar API, создавая некоторые полезные функции.

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

  • Как написать doctest, так как результат каждой функции на самом деле не предсказуем (в зависимости от того, что нового на сервере):

    >>> calendar = GoogleCalendar(user='blabla', password='blablabla')
    >>> calendar.list()
    login@trunat.fr's Calendar List
        0. ...
        ...
    
  • Если я не хочу оставлять пароль в исходном коде, как мне это сделать?

  • Как написать тест для всех функций класса, не записывая каждый раз одно и то же для каждой функции?

    >>> calendar = GoogleCalendar(user='blabla', password='blablabla')
    >>> calendar.myFunction()
    
  • Для каждой функции GoogleCalendar мне придется сначала создать объект?

Спасибо за вашу помощь

1 Ответ

1 голос
/ 17 ноября 2009

Если вы решили протестировать внешнюю службу, вы можете использовать тестовое устройство:

  • Напишите функцию make_test_server(), которая будет возвращать новое соединение с сервером, чтобы упростить ваши тесты.
  • Сделать это тестовым приспособлением (фиктивным сервером) make_dummy_test_server() с предсказуемым выводом.
  • Проверьте его и убедитесь, что все случаи (ошибки подключения, возвращено пустое множество) были учтены.

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

Вы также делаете обзоры кода? Системное тестирование? Модульное тестирование - это хорошо, но убедитесь, что вы не слишком близоруки.

...