当前位置: 首页 > 知识库问答 >
问题:

如何在JUnit5中使用Mockito

卫胜
2023-03-14

如何使用Mockito和JUnit 5的注射?

在JUnit4中,我可以只使用@runwith(MockitoJUnitRunner.class)注释。JUnit5中没有@runwith注释吗?

共有1个答案

班展
2023-03-14

Mockito有不同的使用方法--我将逐一介绍。

使用mockito::mock手动创建模拟,不管JUnit版本(或测试框架)如何。

使用@mock-annotation和对mockitoannotations::initmocks的相应调用来创建模拟,不管JUnit版本如何(或者测试框架,但Java9可能会在这里进行干扰,这取决于测试代码最终是否在模块中结束)。

JUnit5有一个强大的扩展模型,Mockito最近以group/artifact ID org.Mockito:mockito-junit-jupiter发布了一个扩展模型。

您可以通过将@extendwith(MockitoExtension.class)添加到测试类并使用@mock注释模拟字段来应用扩展。从mockitoextension的Javadoc:

@ExtendWith(MockitoExtension.class)
public class ExampleTest {

    @Mock
    private List list;

    @Test
    public void shouldDoSomething() {
        list.add(100);
    }

}

MockitoExtension文档描述了实例化模拟的其他方法,例如使用构造函数注入(如果在测试类中rpefer final字段)。

JUnit4规则和运行程序在JUnit5中不起作用,因此mockitorule和Mockito运行程序不能使用。

 类似资料:
  • 问题内容: 如何在Mockito和JUnit 5中使用注入? 在JUnit4中,我可以只使用Annotation。在JUnit5中没有注释吗? 问题答案: 有多种使用Mockito的方法-我将一一介绍。 手动地 无论JUnit版本是什么(或测试框架),都可以使用Works手动创建模拟。 基于注释 使用@Mock -annotation和相应的调用 来创建嘲笑的作品无论JUnit版本(或测试框架,对

  • 在成功运行JUnit4测试后,我试图将JUnit5与Gradle一起使用。 而我唯一的测试包含 我觉得这很奇怪! 我的生成文件是 我的文件夹结构是,使用包, 在我使用的IntelliJ2017.1.3中,模块结构如下所示 因为Gradle现在想要源代码和测试在他们自己的包中。 使用gradle在intellij中从JUnit4升级到JUnit5 链接回到上面的问题,并链接到这个Jetbrains博

  • 我希望将内置的JUnit5与Gradle Kotlin DSL一起使用,因为在构建过程中,我会收到以下警告: 另外,这个问题是相关的,但要求创建新的任务,而不是定制现有的任务:我如何在gradle kotlin-dsl中覆盖一个任务 这里有一个正常分级的解决方案。

  • Web上使用Neo4j进行Spring集成测试的大多数示例仍然在JUnit4上,并且使用Neo4JRule。 我们如何为Neo4j+Spring+JUnit5创建一个设置?

  • 我正在迁移到JUnit5,我想知道在JUnit5中是否有一种简单的方法可以知道测试何时失败,就像我们在使用TestWatcher的JUnit4中那样。 我做了一些研究,发现了一些类似的问题,但仍未解决,比如这样一个问题:https://github.com/junit-team/junit5/issues/542因为大多数问题都很老,所以我想问一下,以防最近有一个解决方案。 想法是能够做一个屏幕截