【发布时间】:2010-09-09 06:37:07
【问题描述】:
通常,我发现自己想为一部分访问 HTTP 资源的代码编写单元测试,作为其正常功能的一部分。你有没有找到编写这类测试的好方法?
【问题讨论】:
标签: unit-testing language-agnostic http
通常,我发现自己想为一部分访问 HTTP 资源的代码编写单元测试,作为其正常功能的一部分。你有没有找到编写这类测试的好方法?
【问题讨论】:
标签: unit-testing language-agnostic http
根据您使用的语言或框架,启动本地运行的 HTTP 服务器可能很简单,该服务器提供您想要的资源。
【讨论】:
从主代码中提取访问 HTTP 资源的部分。为该新组件创建一个接口,在您的测试中,模拟该接口并返回您可以可靠控制的数据。
您可以将 HTTP 访问作为集成测试进行测试。
【讨论】:
我最近不得不编写一个访问 wiki 并进行一些基本文本抓取的组件。我编写的大多数测试都验证了正确的 HTTP 响应代码。就验证实际资源而言,我将保存已知资源的离线版本并检查算法是否正在收集/处理正确的数据。
【讨论】:
这通常是我会为测试模拟的功能...我不喜欢我的测试依赖于任何外部资源...更糟糕的是,如果它是我无法控制的外部资源(例如 3rd党网站)。
数据库是少数几个我经常不会模拟的外部资源之一...我使用 DBUnit 代替。
【讨论】: