gpt4 book ai didi

delphi - 如何在 Delphi 中对第三方电子邮件组件进行单元测试?

转载 作者:行者123 更新时间:2023-12-03 15:57:11 25 4
gpt4 key购买 nike

我正在编写一些涉及 POP3 操作的新代码。我正在尝试提出一种允许我编写测试的设计,因此它相当解耦并且可以练习我正在编写的大部分新代码。

我面临的问题是我仍然需要验证我使用某些第三方电子邮件组件的方式是否正确。例如,这涉及测试来自有故障的 POP3 服务器的奇怪响应。

现在,我正在使用模拟 POP3 客户端,因此我可以测试客户端收到错误或奇怪响应的可能场景的逻辑。但是,我仍然需要检查这些假设是否正确,以及在升级第三方组件后是否仍然正确。

此外,还有 SMTP。我知道在 Java 世界里你有 Dumbster

我在 Delphi 中有哪些替代方案?使用 usual 编写我自己的自定义迷你服务器suspects

最佳答案

好吧,我不想成为证实你怀疑的人,但是:

(a) 你必须构建自己的(每个人的需求都不同,至少在 Delphi 中,没有相当于 Java Dumpster 的这种集成测试的标准装置)并且...

(b) 我认为您不应该假设 Indy,因为 ICS 和 Synapse 都很棒,并且使用它们的演示可能会更快地满足您的需求...如果有选择的话,我会选择 ICS。但如果你更了解 Indy,那就跟着它吧。

(c) 我倾向于保留运行 Linux 的虚拟机,因为我发现使用 POP3/SMTP 服务器进行测试很容易,这些服务器在我周围的 ISP 的现实世界中实际使用,并且如果我关心的话如果我有 MSDN 许可证并且有能力这样做的话,我可能会为 Windows + Exchange 服务器创建一个虚拟机。

请记住,这不再是单元测试。这就是集成测试。即使您用线程而不是进程将其全部塞满,那也不是单元测试,而是集成测试。

如果您希望所有开发人员无需设置即可进行测试,那么创建一个始终可用且在各种标准端口上具有各种配置的 QA-TEST-NETWORK BOX,那么您的集成测试可以在任何开发人员 PC 上运行局域网内零设置的工作站。在 LAN 之外的 WAN 环境中,这会变得更加棘手。

关于delphi - 如何在 Delphi 中对第三方电子邮件组件进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10501524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com