@Component
public class RefValidator implements Component {
@Autowired
private Repository repository;
public void validate(Context context) {
Txn txn = context.getTxn();
if (Objects.nonNull(txn) && !StringUtils.isEmpty(txn.getReferenceNumber())){
if(txn.getId() == 0){
boolean isRealmIdAndReferenceNumberExists = repository.isRefNumberExistsInSale(txn.getRealmId(), txn.getReferenceNumber());
if(isRealmIdAndReferenceNumberExists){
throw new Exception();
}
}
}
}
}
我有一个如上所述的类,想使用Mockito进行测试。我在@INjectMock
上为RefValidator
做@Mock
,在Repository
上做Mockito
.when(repository.isRefNumberExistsInSale(Mockito.anyString(),Mockito.anyString()))
.thenReturn(true);
thenReturn
Person ID Person Height (in)
ID1 ID2 ID3 ID4 ID5 ID1 ID2 ID3 ID4 ID5
201566 202331 203500 203924 1628390 76 65 83 75 73
202329 203081 203090 203468 203994 69 72 80 71 76
不返回 true 。
答案 0 :(得分:0)
很难定义问题所在,因为您尚未提供测试类。但是看起来在运行测试服时您的注释未得到处理。
尝试以下操作之一:
@RunWith(MockitoJUnitRunner.class)
MockitoAnnotations.initMocks(this);
(用@Before
注释)有关帮助,请参见this article的第二部分。