Как протестировать почтовое использование отправки Rspec?

Тот факт, что элементы sendto являются объектами файловой системы, является детальностью реализации, меню заполняется расширением оболочки sendto, и оно может быть расширено, чтобы включить другие вещи в следующую версию окон и т. д. Фактически, обработка папки sendto как только папка ярлыков, которую вы можете выполнить с помощью одного параметра, была проблематичной с Windows95 ( powertoys / shell toys )

Некоторые из элементов sendto не являются .lnk, а уникальным файлом расширения с зарегистрированным обработчиком drop (.DeskLink, .OtherFolder, .MAPIMail и т. д.)

Документированным способом вызова элемента sendto будет использование IContextMenu . Неуправляемым способом сделать это было бы вызов SHBindToParent на объект, который вы хотите эмулировать действие sendto (запрос для IID_IShellFolder). Затем вызовите IShellFolder :: GetUIObjectOf и попросите IID_IContextMenu, тогда вы можете вызовите IContextMenu :: QueryContextMenu , чтобы заполнить HMENU, вам нужно будет найти подменю sendto (я думаю, что он вернет sendto в качестве своего глагола, если вы спросите его с помощью IContextMenu :: GetCommandString). может затем перечислить подменю с функциями меню winapi и / или IContextMenu :: GetCommandString, чтобы найти элемент, который вы хотите вызвать, затем вызовите IContextMenu :: InvokeCommand

26
задан marcgg 17 November 2009 в 00:21
поделиться

2 ответа

email-spec выглядит как хорошая библиотека

http://github.com/bmabey/email-spec

24
ответ дан nicholaides 25 September 2019 в 08:13
поделиться

Что именно вы хотите проверить?

Хотите ли вы проверить, действительно ли электронное письмо действительно отправлено?

Я не рекомендую его, поскольку оно замедлит ваш тест и это действительно зависит от машины, которую вы используете для запуска ваших тестов (сетевое соединение, SMTP-сервер).

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

Редактировать:

Не имеет прямого отношения к тестированию, но я только что прочитал эту статью .

Мне нравится его точка зрения об использовании модели для отправки электронных писем. Итак, чтобы объяснить немного подробнее:

Я бы использовал контроллер для настройки переменных вида, таких как @body, @title, @recipient.

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

Я обновлю этот пост примером, когда вернусь домой позже сегодня.

0
ответ дан Aurélien Bottazini 25 September 2019 в 08:13
поделиться
Другие вопросы по тегам:

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