【发布时间】:2018-01-26 15:09:01
【问题描述】:
我正在尝试为一个写得很糟糕的方法编写一个测试用例,下面是该方法的实现:
public void processData(){
DB.connectToDB1();
List rawData = DB.getRawData();
List processedData = new List();
for (Object obj : rawData){
//pass through filter
if(obj.passesFilter){
processedData.add(obj);
}
}
DB.connectToDB2();
DB.insertProcessedData(processedData);
}
我想测试过滤规则是否正常工作,我应该采取什么方法?
【问题讨论】:
-
mock / spy
DB,捕获传递给insertProcessedData的参数,然后将记录的参数与您期望的进行比较。 -
你可以用
Mockito.verify来检查你是否通过了过滤方法以及你使用的次数