Я пишу очень маленький ORM Python вокруг boto.dynamodb.layer2
. Я хотел бы написать тесты для него, но я не хочу, чтобы тесты действительно связывались с AWS, поскольку для этого потребовались бы сложная настройка, учетные данные, доступ к сети и т.д.
Так как я планирую открыть исходный код, модуль, в том числе учетные данные в источнике, кажется плохой идеей, так как я буду взимать плату за использование, и в том числе учетные данные в среде - это боль.
Связывание моих тестов с сетью кажется плохой идеей, поскольку она заставляет тесты работать медленнее или может привести к сбоям тестирования из-за сетевых ошибок или дросселирования. Моя цель - не тестировать интерфейс DynamoDB или AWS. Я просто хочу проверить свой собственный код.
Я планирую использовать unittest2
для написания тестов и mock
, чтобы издеваться над деталями boto, которые попали в сеть, но я никогда не делал этого раньше, поэтому мой вопрос сводится к следующим:
- Я собираюсь сделать это правильно?
- Кто-нибудь еще это сделал?
- Есть ли какие-то конкретные точки в интерфейсе
boto.dynamodb
, которые лучше всего бы вычленить?