【发布时间】:2016-10-12 16:33:10
【问题描述】:
我必须创建一个测试系统来拦截所有 HTTP 请求但只处理少数请求,经过一些研究后我发现 this 文章展示了如何模拟 HttpUrlConnection 但我必须适应,我只想将它用于请求这是我测试的一部分,其他人应该像往常一样通过互联网,我的尝试是返回依赖于 url 的不同 HttpUrlConnection 对象,显然没有用。
public class MockURLStreamHandler extends URLStreamHandler implements URLStreamHandlerFactory
{
..............................
// *** URLStreamHandler
@Override
protected URLConnection openConnection(URL u) throws IOException {
mConnection = new MockHttpURLConnection(u);
if(u.toString().equals(myTestUrl))
{
return mConnection;
}
else
{
//this doesn't work
return new HttpUrlConnection(u){..}
}
}
...............................
}
有什么想法吗?之后我应该寻找什么?
提前致谢。
【问题讨论】:
-
你考虑过使用 Mockito 吗?
标签: android unit-testing http integration-testing android-testing