我有一个关于单元测试的问题。
我将测试一个作为 Web 服务适配器的模块。测试的目的不是测试 Web 服务,而是测试适配器。
服务提供的一个函数调用如下:
class MyAdapterClass {
WebService webservice;
MyAdapterClass(WebService webservice) {
this.webservice = webservice;
}
void myBusinessLogic() {
List<VeryComplicatedClass> result = webservice.getResult();
// <business logic here>
}
}
如果我想对 myBusinessLogic 函数进行单元测试,通常的方法是注入一个模拟版本的 web服务,并getResult()
为一些预定义的返回值设置函数。
但在这里我的问题是,真正的 web 服务将返回一个非常完整的类的列表,每个类都有数十个属性,并且该列表可能包含数百甚至数千个元素。
如果我要使用 Mockito 或类似的工具手动设置结果,这是一项巨大的工作。
在这种情况下,人们通常会做什么?我所做的只是连接到真正的 Web 服务并再次测试真正的服务。有什么好做的吗?
非常感谢。