Насмешки носорога: “Проверьте” по сравнению с, “Утверждают”

Вам нужно будет написать свой собственный класс «Mandril Send Email».

Используйте SendSESEmail в качестве отправной точки, но вместо обработки ключей AWS вы используете свои учетные данные для Mandrill.

Вы send_message должны выглядеть примерно так:

def send_message(self, message):
    s = smtplib.SMTP('smtp.mandrillapp.com', 587)
    s.login(MANDRILL_USERNAME, MANDRILL_PASSWORD)
    s.send_message(message)

(на основе этого фрагмента: https://mandrill.com/#script-python )

Надеюсь, это поможет вам.

7
задан Tato 28 March 2009 в 02:12
поделиться

2 ответа

VerifyAll и Проверяют, используются, чтобы проверить, что некоторые методы назвали (и возможно проверьте параметры, с которыми их назвали). Это считают "основанным на взаимодействии тестированием" и используют, когда Вы хотите проверить что система под проверочными вызовами метод на одной из его зависимостей.

Обычно утверждает средства, что Вы хотите удостовериться, что возвращенное значение имеет правильное значение. Утверждает используются для того, что называют "основанным на состоянии тестированием", которое по существу проверяет состояние системы под тестом после того, как на это реагировали.

verifyall, проверьте это.

Кроме того, дифференцируйте Насмешку и Тупик.

9
ответ дан 6 December 2019 в 21:20
поделиться

Я полагаю, что VerifyAll принадлежит более старому стилю использования RhinoMocks, где у Вас были бы рекордный шаг и шаг воспроизведения, после которого Вы проверите все Ожидания. В этой модели Вы были бы во время рекордного шага настраивать ожидание (например, Ожидать, что этот метод назовут с параметрами x, y, и z, и т.д.).

Более новые версии RhinoMocks представляют синтаксис Arrange-Act-Assert (AAA) как предпочтительный шаблон; Используя этот шаблон, имеет больше смысла использовать Утверждения в конце Вашего метода тестирования. Все еще возможно использовать VerifyAllExpectations (), но лично я думаю, что это читает легче, если все Ваши Утверждения происходят в блоке в конце теста.

Таким образом, я предполагаю, что ответ (мне так или иначе) - то, что это - персональное предпочтение; См. ссылку выше, где у него есть несколько примеров того же теста, и выберите тот, который читает лучше всего в Вас.

3
ответ дан 6 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: