我正在寻找说明如何使用twisted.web.client.Agent对发出HTTP请求的代码进行单元测试的提示或示例。
是否可以在测试中使用真实代理并将其配置为使用StringTransport连接到伪HTTP服务器(没有真正的TCP连接)?
或者,最好是模拟代理并将模拟注入使用代理的类中?
答案 0 :(得分:4)
当然可以使用真实Agent
。您必须使用reactor作为第一个参数构造Agent
实例;因此,您可以提供假反应堆,例如MemoryReactor
。虽然这是一个非常方便的方式来了解Agent
正在做的事情,但它对于测试Agent
本身来说确实非常有用。注入假Agent
很多次都是一个更容易的路径,因为它的api都很浅(几乎所有内容都通过Agent.request
而简单(它返回IResponse
)