java
@Test
void bondCalculate() {
Bc6CalculateRequestDto requestDto = new Bc6CalculateRequestDto();
requestDto.setTradeDate(LocalDate.now());
requestDto.setSpeed(SpeedEnum.T_1.getSpeed());
requestDto.setCalcType(Strings.concat(ModifyFieldEnum.RATE.getField(), ModifyFieldEnum.FIRST_AMOUNT.getField()));
//
Bc6CalculateServiceImpl bc6CalculateService = Mockito.spy(new Bc6CalculateServiceImpl());
String allTradeDateListStr = ExcelUtil.excelToJsonStr("bc6/NibTradeDate.xlsx");
List < NibTradeDateCloudDto > allTradeDateList = ObjectMapperUtil.parseArray(allTradeDateListStr, NibTradeDateCloudDto.class);
Mockito.doReturn(allTradeDateList).when(bc6CalculateService).getAllTradeDateList();
//
Bc6CalcResponseDto responseDto = bc6CalculateService.bondCalculate(requestDto);
System.out.println(responseDto.toString());
}
这个测试方法模拟了 Bc6CalculateService
的一个实例,并试图测试 bondCalculate
方法。它使用了 Mockito.spy
来创建一个真实对象的部分模拟(间谍),并模拟了 getAllTradeDateList
方法的行为。然后,它调用了 bondCalculate
方法并打印了返回的 Bc6CalcResponseDto
对象的字符串表示。