我需要在我的 Delphi 应用程序中测试一些 HTTP 组件。我使用 DUnit 并希望在测试中添加一些自动化功能。

所以我的测试代码需要启动本地 HTTP 服务器,对其进行配置(例如,准备在 3 秒内断开连接,或模拟低带宽,或要求登录/密码等),运行我的单元测试并关闭 HTTP服务器。

是否有一些完全适用于 Delphi/DUnit 的 HTTP 服务器?

我知道 Mozilla 团队有 这样的服务器, ,但是集成到DUnit中却不太容易。

有帮助吗?

解决方案

我用印地的 TIdHttpServer 在同一流程中提供服务。

这种方法允许我检查传入的请求是否正确,以及检查客户端的行为。

此外,您可以在一个测试用例的基础上单独设置服务器,使您的单元测试更容易理解(这意味着您在其他地方没有“测试”的一部分)。

其他提示

您可以使用单元测试/ dunit来构建自动集成测试。说,随着HTTP客户端的HTTP组件拨打Web服务。您可以制作自己的模拟Web服务,或者只是使用任何公共网络服务,例如来自谷歌或亚马逊的任何公共网络服务。因此,您只需要创建Google或Amazon开发人员帐户,并消耗一些基本服务功能进行测试。

如果您正在测试SOAP服务,请使用SOAPUI基于WSDL站起来“模拟”服务。 您可以返回各种响应(顺序地,或使用一些简单的脚本来匹配对请求内容的响应。)我通过匹配我的请求中的“请求ID”(只是一个GUID)来完成此操作。dunit测试,以苏帕苏的回应。它是一个简单的XPath查询,以匹配它们。

您可以将其返回“罐头”错误/异常,当然当它没有运行时,您将拥有“没有人的家”测试用例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top