我在使用SonarQube时出现了多个单元测试问题,引发了以下问题:
@InjectMocks
private MessageEscaper escaper;
@Mock
private SLogger mockLogger;
@Mock
private Messagetext mocktext;
@Before
public void setup() throws Exception {
escaper = new MessageEscaper ();
MockitoAnnotations.initMocks(this);
}
@Test
public void Message() {
assertTrue(escaper.handleText(mockText));
verify(mockLogger).logMessage(mockText);
assertEquals(true, escaper.handleText(mockText));
}
escaper.handleText(mockText)返回一个布尔值。即使我有断言陈述,我仍然会遇到问题"在此测试用例中添加至少一个断言"。虽然两个断言陈述相似,但我觉得声纳可能至少选择其中一个。
这是获得实际通话的方法。
public boolean handleText(MessageText text)
{
try {
Message message = context.getMessage();
String serviceName = Util.getServiceName(message);
text.put(MESSAGE_OPERATION, serviceName);
} catch (CustomException | RuntimeException e) {
if (LOG.isLoggable(Level.ERROR)) {
LOG.warning("Unable to store : " + UtilLog.print(e));
}
}
return true;
}
任何帮助都将不胜感激。
答案 0 :(得分:0)
尝试更新插件版本。为我工作