easymock案例2

Posted luzhouxiaoshuai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easymock案例2相关的知识,希望对你有一定的参考价值。

public interface IStudent {
    public String doMethod1();
    public String doMethod2();
    public String doMethod3();

}
public class StudentApplication {
    IStudent student=null;
    public StudentApplication(IStudent student) {
        this.student = student;
    }
    
    public String doMethod(){
        String str1=student.doMethod1();
        String str2=student.doMethod2();
        String str3=student.doMethod3();
        return str1+str2+str3;
    }

    public IStudent getStudent() {
        return student;
    }

}
import main.IStudent;
import main.StudentApplication;
import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.Test;

public class testStudentApplication {
    IStudent student;
    StudentApplication application;
    @Test
    public void testdoMethod(){
        //?使用 EasyMock 生成 Mock 对象;
        student=EasyMock.createMock(IStudent.class);
        //设定 Mock 对象的预期行为和输出
        EasyMock.expect(student.doMethod1()).andReturn("a").times(1);
        EasyMock.expect(student.doMethod2()).andReturn("b").times(1);
        EasyMock.expect(student.doMethod3()).andReturn("c").times(1);
        //将 Mock 对象切换到 Replay 状态
        EasyMock.replay(student);
        //调用 Mock 对象方法进行单元测试
        application=new StudentApplication();
        application.setStudent(student);
        String getStr=application.doMethod();
        //对 Mock 对象的行为进行验证
        String cstr="abc";//正确的字符串
        Assert.assertEquals(getStr, cstr);
        EasyMock.verify(student);
        
    }
}

 

以上是关于easymock案例2的主要内容,如果未能解决你的问题,请参考以下文章

easymock笔记2

带有 void 方法的 EasyMock 期望

EasyMock:java.lang.IllegalStateException:预期 1 个匹配器,记录 2 个

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

Mockito 比 EasyMock 更受欢迎? [关闭]

使用 EasyMock 测试方法的异常