SonarQube问题"在此测试用例中添加至少一个断言"为junit和Mockito

时间:2017-10-25 18:29:05

标签: java junit sonarqube mockito assertions

我在使用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;
 }

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试更新插件版本。为我工作