如何在JUnit5中使用Mockito

如何使用Mockito和JUnit 5进样?
在JUnit4中,我可以使用@RunWith(MockitoJUnitRunner.class)Annotation。在JUnit5中没有@RunWith Annotation?
使用Mockito有不同的方法 – 我将逐一介绍它们。
手动
无论JUnit版本(或测试框架)如何,使用Mockito::mock手动创建模拟都可以正常工作。
基于注释
使用@Mock-annotation和相应的MockitoAnnotations::initMocks调用
到create mocks工作无论JUnit版本(或测试框架,但Java 9可能会干扰这里,取决于测试代码是否在模块中结束)。
Mockito扩展
JUnit 5有a powerful extension model,Mockito最近在组/工件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); } }

The Mockito documentation对扩展仍然有点沉默。
没有规则,没有跑步者
【如何在JUnit5中使用Mockito】JUnit 4规则和运行程序在JUnit 5中不起作用,因此无法使用MockitoRule和Mockito runner。

    推荐阅读