很抱歉之前已經回答過這個問題。但到目前為止,我還沒有解決我的問題。好的,假設我下面有一個類,我想測驗方法 checkMail():
public class SupplierRosServiceImpl implements SupplierRosService {
@Autowired
private OpeSupplierService supplierService;
@Autowired
private OpeSupplierMapper opeSupplierMapper;
@Autowired
private OpeSupplierTraceService supplierTraceService;
private SupplierServiceMapper supplierServiceMapper;
@DubboReference
private IdAppService idAppService;
@Override
public Map<String, Integer> countStatus(GeneralEnter enter) {
List<CountByStatusResult> statusResults = supplierServiceMapper.countStatus(enter);
Map<String, Integer> map = new HashMap<>();
for (CountByStatusResult item : statusResults) {
map.put(item.getStatus(), item.getTotalCount());
}
for (SupplierStatusEnum status : SupplierStatusEnum.values()) {
if (!map.containsKey(status.getValue())) {
map.put(status.getValue(), 0);
}
}
return map;
}
public Boolean checkMail(String mail,String idStr) {
QueryWrapper<OpeSupplier> wrapper = new QueryWrapper<>();
wrapper.eq(OpeSupplier.COL_CONTACT_EMAIL, mail);
wrapper.eq(OpeSupplier.COL_DR, 0);
if(!Strings.isNullOrEmpty(idStr)){
wrapper.ne(OpeSupplier.COL_ID, Long.parseLong(idStr));
}
return opeSupplierMapper.selectCount(wrapper) > 0 ? Boolean.FALSE : Boolean.TRUE;
}
在我的測驗課中,我有:
class SupplierRosServiceImplTest {
@InjectMocks
SupplierRosServiceImpl supplierRosService;
@Mock
QueryWrapper queryWrapper;
@Mock
private OpeSupplierMapper ope;
@Test
void ItShouldCheckMail() {
//when
supplierRosService.checkMail("myEmailAdress", "123456");
//then
verify(ope).selectCount(queryWrapper);
}
例外告訴:引數不同!通緝:ope.selectCount(querywrapper) 實際呼叫有不同的爭論:ope.selectCount(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper@ba1f559) 有人能告訴我如何解決這個問題嗎?
uj5u.com熱心網友回復:
我解決了我的問題。問題是它通過傳遞給我的 QueryWrapper 服務注入來更改實作細節,從而正確地模擬這個。
uj5u.com熱心網友回復:
檢查兩個類中的匯入QueryWrapper 是否來自同一個包,是否似乎從不同的包匯入到測驗類中。
如果沒有,那么請將您的整個代碼也與匯入一起粘貼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/345892.html
