我有一个从队列接收消息的方法,我需要用Mockito编写这个方法的单元测试。该方法使用实用程序类UtillClass。我很困惑如何为这种方法编写单元测试
public boolean findSomeRecord(Message<?> message){
Details details = UtilClass.getHeaderValue(Constants.DETAILS, message, Details.class);
Record record = recordService.findById(details.getDetailsId());
if(record == null ){
return false;
}
return true;
}
答案 0 :(得分:1)
答案:取决于。
我想你的第一个问题是,静态方法调用UtilClass.getHeaderValue()
在单元测试中无法正常运行?
你知道,因为它会起作用......你会关心它吗?含义:您想测试findSomeRecord()
返回true或false。因此,在完美设置中,您只能进行两项测试:
assertThat(objectUnderTest.findSomeRecord(someRecordThatCanBeFound), is(true));
RESP。
assertThat(objectUnderTest.findSomeRecord(someRecordThatCanNotBeFound), is(false));
但可能静态方法在单元测试设置中不起作用。那你有两个选择: