我的应用程序中有一些方法用于进行http请求。是否有一种好的方式来模拟网络故障和错误响应以进行单元测试?
我的应用程序中有一些方法用于进行http请求。是否有一种好的方式来模拟网络故障和错误响应以进行单元测试?
对于网络故障,最好的方法是先拔掉计算机的以太网电缆(或断开无线连接),然后再拔掉连接云端的任何电缆。
如果你说的是HTTP错误,你可以编写ASP脚本来始终抛出特定的错误。如果你想测试格式不正确的HTTP数据包,你需要编写一个简单的套接字应用程序来进行测试。
将进行HTTP调用的库(例如java.net.URLConnection或Commons HttpClient)封装在接口后面,然后编写该接口的实现或模拟以模拟故障条件。
您的接口可以仅表示应用程序需要执行的操作,而不是整个HTTP客户端功能范围。
if (in_test) {
response = get_test_response();
} else {
response = make_http_request();
}
然后,您可以让单元测试设置一些值,这些值可以通过get_test_response()函数访问。这样,您就可以以编程方式更改该调用的结果。