未调用模拟服务

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);