如何对电子邮件客户端进行单元测试

Mat*_*ity 3 c++ email testing unit-testing email-client

我正在研究桌面电子邮件客户端,我想对我的后端进行单元测试.但是,我看不出有办法让这项工作成功.为了使我的代码能够工作,它必须连接到正常工作的邮件服务器.除非我将我的单元测试绑定到电子邮件帐户,并确保该帐户符合我的测试所期望的状态,否则我看不出如何管理它.

有没有人对如何测试这种应用有任何想法,它依赖于设计的外部因素?

编辑:

添加一些细节:我正在为我的应用程序开发一个C++更高级别的邮件客户端库,它使用libEtPan(一个C库)来实际处理连接到邮件服务器并与之交互的细节.

Bri*_*new 7

我会模拟电子邮件服务器,并将该模拟对象配置为适当地接受/拒绝电子邮件(取决于您的测试).

要有效地执行此操作,您需要一个界面来与您的电子邮件服务器通信.对于测试,实现是一个模拟对象.对于部署,您可以将其替换为直接与邮件服务器对话的实现.

对于C++模拟框架,请参阅此SO问题.