如何使用twisted.web.client.Agent对使用HTTP请求的代码进行单元测试?

时间:2013-08-06 11:23:00

标签: twisted

我正在寻找说明如何使用twisted.web.client.Agent对发出HTTP请求的代码进行单元测试的提示或示例。

是否可以在测试中使用真实代理并将其配置为使用StringTransport连接到伪HTTP服务器(没有真正的TCP连接)?

或者,最好是模拟代理并将模拟注入使用代理的类中?

1 个答案:

答案 0 :(得分:4)

当然可以使用真实Agent。您必须使用reactor作为第一个参数构造Agent实例;因此,您可以提供反应堆,例如MemoryReactor。虽然这是一个非常方便的方式来了解Agent正在做的事情,但它对于测试Agent本身来说确实非常有用。注入假Agent很多次都是一个更容易的路径,因为它的api都很浅(几乎所有内容都通过Agent.request而简单(它返回IResponse