我正在编写一个尚未公开的HTTP API客户端。 根据我得到的规格,我模拟了一个模拟API的服务器,以测试我的客户如何反应。
此服务器是一个非常简单的Rack应用程序,目前在WEBRick上运行。 API客户端与此伪API进行交互,并在不同的测试用例中正确执行。
希望我能在API上线时更改配置文件中的主机名。
但是,我知道API在上线时会处于高负荷状态。因此,我的客户很可能不得不面对:
我知道我的客户端在理想情况下表现良好,但我如何在我的测试用例中随机(或不随机)引入这些行为,以验证客户端是否正确处理了这些错误?
是否有某种反向代理可以配置为在稳定网络上的稳定服务器上提供数据时模拟这些错误(在我的情况下:localhost上的本地服务器)?
答案 0 :(得分:0)
您可以尝试使用Net Limiter(http://www.netlimiter.com/)来塑造带宽。
另一方面,要进行更准确的模拟,您需要控制服务器端和客户端。
例如,要模拟超时条件,模拟服务器可以从HTTP API客户端接收请求然后停止,从而在客户端触发超时。
您自己的模拟/测试服务器的其他好处是您可以模拟丢弃的TCP连接(只关闭新接收的客户端连接),50X响应,无效响应,协议中断响应等等。