如何配置IntelliJ IDEA检查“没有任何断言的JUnit测试方法”来使用jmockit的验证?

时间:2017-12-30 14:03:27

标签: intellij-idea jmockit

我有这个JUnit测试:

@Test
public void testExecuteReverseAcknowledgement(@Mocked final MessageDAO messageDAO)  {
    //...

    classUnderTest.execute(messageContext, actionContext);

    Verifications verifications = new Verifications() {{
            messageDAO.setAcknowledgement("APC");
        }};
}

它可以根据需要工作,断言在Verifications块(http://jmockit.org/tutorial/Mocking.html#model

中完成

不幸的是,IntelliJ IDEA产生一个警告:“单元测试方法'testExecuteReverseAcknowledgement()'不包含任何断言”。

可以配置此检查并使用Intellij将其视为断言的方法指定类:

IntelliJ inspections settings window

但我似乎无法在那里指定mockit.Verifications()构造函数。我尝试过“mockit.Verifications”作为类名,“。*”,“new”,“()”作为方法名称。

我的问题是,如何将Verifications类指定为断言,以便IntelliJ不会产生该警告?

1 个答案:

答案 0 :(得分:2)

我想,不幸的是,IDEA会搜索除构造函数之外的任何方法。

我检查了来源并制作了调试IDEA。 模式"。*"是正确的,但是这段代码不会为构造函数执行。

enter image description here

您可以在此处查看代码:https://github.com/JetBrains/intellij-community/blob/master/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/TestMethodWithoutAssertionInspectionBase.java

这是提出功能请求的好机会:)