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);
        
    }
}

猜你喜欢

转载自www.cnblogs.com/kebibuluan/p/8934429.html