如何在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对扩展仍然有点沉默。

没有规则,没有跑步者

JUnit 4规则和运行程序在JUnit 5中不起作用,因此无法使用MockitoRule和Mockito runner。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值