【发布时间】:2019-05-22 05:16:36
【问题描述】:
我正在为我的 java 类编写测试类。我正在将 Junit5 与 Mockito 一起使用。
我正在使用与 Power Mockito 不兼容的 Junit5,所以我只使用 Mockito。
我有class Emp,它具有如下所示的函数findSalary,EmpProfileClient 在构造函数中被初始化。
Class Emp {
......
public void findSalary(empId) {
...
TaxReturn taxReturn = new TaxReturn(EmpProfileClient);
int value = taxReturn.apply(new TaxReturnRequest.withEmpId(empId))
.returnInRupee();
...
}
}
当我编写测试用例时,我模拟了EmpProfileClient,但由于我们在一个方法中创建TaxReturn,我如何模拟TaxReturn.apply,所以我可以编写期望以根据我的选择获得值我在测试类中设置了什么?
【问题讨论】:
-
那么问题是什么?
-
添加一个间接层。而不是调用构造函数注入产生 TaxReturns 的工厂。
-
问题是在测试findSalary之前如何写期望。
-
你要测试什么?我的意思是哪种方法?你想模拟
findSallary里面的所有东西吗? -
或仅
taxReturn.apply调用?