Jmock教程报错

作者: lushitao 分类: 我的工作 发布时间: 2021-01-20 16:23

教程如下:

https://www.cnblogs.com/hdwang/archive/2019/11/09/11826778.html

会报错说不能输入参数,最终分析得到:

import mockit.Capturing;
import mockit.Expectations;
import mockit.integration.junit4.JMockit;
import org.junit.Test;
import org.junit.runner.RunWith;

/**
 * 接口模拟测试
 */
@RunWith(JMockit.class)
public class IUserServiceTest {


    /**
     * @Capturing 注解可以实现mock接口,所有实现类的实例均被mock
     * @param base
     */
    @Test
    public void getUserNameTest002(@Capturing final IUserService base){
        IUserService obj = new UserServiceImpl();
        System.out.println(obj.getUserName()); //mock成功,返回模拟默认值null

        //录制
        new Expectations(){
            {
                base.getUserName();
                result  = "Jack";
            }
        };
        System.out.println(obj.getUserName()); //Jack

        obj = new IUserService() {
            @Override
            public String getUserName() {
                return "Alice";
            }
        };
        System.out.println(obj.getUserName()); //Jack
    }
    
}

版本要求:1.30,不能太高

<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>1.30</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注