У ці дні майже будь-який додаток має кілька точок інтеграції, як бази даних, шлюз, оплати, або який-небудь веб-сервіс, який він споживає більше HTTP.
Вся зв'язок з віддаленими системами здійснюється через мережу і обох мереж і ці системи часто йдуть хиткий.
Якщо ми не протестувати поведінку нашої системи, коли віддалений кінець діє з специфікації і виходить з ладу тільки місце для тестування стає у виробництві, яке, як ми всі знаємо, для деяких систем менше, ніж прийнятно.
Тому що дзвінки на віддалених систем використовують мережу, розетка може мати різні сценарії ситуації, наприклад:
- Віддалений кінець скидає з'єднання, посилаючи пакет TCP RST
- З'єднання може бути встановлено, але відповідь ніколи не буде відправлений назад і з'єднання не буде закрито (Якщо ви не використовуєте сокетов тайм-аути у вашому додатку, ви можете бути в біді в якийсь момент).
- Віддалений кінець може посилати дані сміття, так як відповідь
- Послуга може відправити HTML над HTTP замість очікуваної відповіді JSON
- Служба HTTP можуть відправляти тільки один байт даних відповіді кожні 30 секунд
- Дистанційне HTTP служба відправляє тільки заголовки і без тіла
- Послуга може відправити мегабайт даних замість очікуваного кілобайт
- І т.д.
Було б добре, щоб бути в змозі перевірити поведінку нашого застосування, коли деякі з цих умов сталося.
Цинік намагається допомогти з цією тестування. В основному це засоби тестування (тест двічі), які можуть бути використані для імітації хитрий і підступний віддалені системи прямо з вашого командному рядку.
Цинік будемо намагатися, щоб заподіяти шкоду вашій системі.
Це мета полягає в тому, щоб зробити ваш тестованої системи в цинічною.
Читайте відформатовані документи на http://cynic.readthedocs.org
Установка
І NBSP; [Судо] пункт встановити циніка
Або передовим краєм версія від головного Git галузі:
І NBSP; [Судо] пункт встановити git+https://github.com/rspivak/cynic.git#egg=cynic
Requirements:
- Python
Коментар не знайдено