我们每天的开发中都要编写大量的单元测试,很多单元测试的对象是相对独立的,例如一个所得税计算的模块,但是更多的单元测试需要依赖其他的组件或者服务。因此,我们需要EasyMock来无缝的连接这些组件。Mock的意思就是空的,不存在的东西。
EasyMock刚刚发布了2.2版本,它开始使用很多基于jdk 1.5的特性。
下面我们举一个例子:
假设定义一个如下的接口:
public interface ISimpsonService {
IEpisode getEpisode(int number);
}
public interface IEpisode {
int getNumber();
String getTitle();
InputStream getDataAsStream();
}
该接口的实现为
public class ClientSimpsonService implements ISimpsonService {
private ISimpsonService remoteSimpsonService;
public ClientSimpsonService(ISimpsonService remoteSimpsonService) {
this.remoteSimpsonService = remoteSimpsonService;
}
public IEpisode getEpisode(int episodeNumber) {
return null;
}
}
对该服务的单元测试如下
public class ClientSimpsonServiceTest extends TestCase {