未调用模拟服务
Mocked service not called
我有以下代码。
SingleLoanDTO singleLoanDto;
@Mock
private SingleLoanService singleLoanService;
@Autowired
@InjectMocks
private LoanFacadeImpl loanFacadeImpl;
@Autowired
private MappingService mappingService;
setSingleLoanDto();
final long fake_id = 43252343;
然后我做一些模拟。
Mockito.when(
singleLoanService.createSingleLoan(
mappingService.mapTo(singleLoanDto, SingleLoan.class)
)
).thenReturn(fake_id);
并断言它有效。
Assert.assertEquals(fake_id,
singleLoanService.createSingleLoan(
mappingService.mapTo(singleLoanDto, SingleLoan.class)
));
但是,代码似乎调用了真实版本,而不是调用模拟版本。
java.lang.AssertionError:
Expected :43252343
Actual :0
mappingService
的映射有效。为什么不调用模拟版本?
因为设置when和assert
时createSingleLoan
取的对象不一样
when(singleLoanService.createSingleLoan(any())).thenReturn(fake_id);
我有以下代码。
SingleLoanDTO singleLoanDto;
@Mock
private SingleLoanService singleLoanService;
@Autowired
@InjectMocks
private LoanFacadeImpl loanFacadeImpl;
@Autowired
private MappingService mappingService;
setSingleLoanDto();
final long fake_id = 43252343;
然后我做一些模拟。
Mockito.when(
singleLoanService.createSingleLoan(
mappingService.mapTo(singleLoanDto, SingleLoan.class)
)
).thenReturn(fake_id);
并断言它有效。
Assert.assertEquals(fake_id,
singleLoanService.createSingleLoan(
mappingService.mapTo(singleLoanDto, SingleLoan.class)
));
但是,代码似乎调用了真实版本,而不是调用模拟版本。
java.lang.AssertionError:
Expected :43252343
Actual :0
mappingService
的映射有效。为什么不调用模拟版本?
因为设置when和assert
时createSingleLoan
取的对象不一样
when(singleLoanService.createSingleLoan(any())).thenReturn(fake_id);