intellij-idea - 如何配置 IntelliJ IDEA 检查 "JUnit test method without any assertions"以与 jmockit 的验证一起使用?

标签 intellij-idea jmockit

我有这个 JUnit 测试:

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

    classUnderTest.execute(messageContext, actionContext);

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

它根据需要工作,断言在验证 block 中完成(http://jmockit.org/tutorial/Mocking.html#model)

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

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

IntelliJ inspections settings window

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

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

最佳答案

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

我已经检查了源代码并制作了一个调试IDEA。 模式“.*”是正确的,但此代码不会针对构造函数执行。

enter image description here

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

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

关于intellij-idea - 如何配置 IntelliJ IDEA 检查 "JUnit test method without any assertions"以与 jmockit 的验证一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48034643/

相关文章:

java - Mockito 与 JMockit 之间的比较 - 为什么 Mockito 比 JMockit 更好?

svn - IntelliJ 中有没有办法防止使用某些关键字进行提交?

在 IntelliJ IDEA 中运行时出现 java.lang.ClassNotFoundException

cordova - Ionic 框架 android 项目(使用 intellij)在某些设备/模拟器上启动,但在其他设备/模拟器上启动

java - 如何对使用 ProcessBuilder 和 Process 的 Java 方法进行单元测试?

java - 使用 JMockit 模拟抽象类中的非公共(public)静态方法?

java - Spring MVC IntelliJ Idea

java - Mac OS X 上 IntelliJ IDEA 中的 JDK 文档

logging - 使用mockito在java服务中模拟静态记录器的策略是什么

java - 如何在 JMockit 中初始化独立的模拟实例