使用mock objects进行测试,应用控制反转(Ioc)模式替换一个HTTP连接测试代码
代码:ConnectionFactory.java
[...]
import java.io.InputStream;
public interface ConnectionFactory{
InputStream getInputStream() throws Exception;
}
凡是实现ConnectionFactory接口的都返回一个InputStream对象,这就为控制反转,替换HTTP连接的mock 技术提供了核心的基础.
代码:WebClient.java
[...]
import java.io.InputStream;
public class WebClient{
public String getContent(ConnectionFactory connectionFactory){
String content=new StringBuffer();
try{
InputStream is=connectionFactory.getInputStream();
int count;