然后返回不返回期望值

时间:2019-03-15 00:05:44

标签: mockito

@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

1 个答案:

答案 0 :(得分:0)

很难定义问题所在,因为您尚未提供测试类。但是看起来在运行测试服时您的注释未得到处理。

尝试以下操作之一:

  • 在测试类上方添加@RunWith(MockitoJUnitRunner.class)
  • 在设置方法中添加MockitoAnnotations.initMocks(this);(用@Before注释)

有关帮助,请参见this article的第二部分。

相关问题