在Eclipse上创建Project, MockTest
创建Interface
- 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;
- }
- }
同意导入JUnit4库
下载Easy Mock
https://sourceforge.net/projects/easymock/?source=typ_redirect
右键选择项目,点属性,Java Build Path -> Libraries ->Add External Jar, 找到解压后的easymock-3.2.jar
修改StudentApplicationTest.java如下。
- import main.IStudent;
- import main.StudentApplication;
- import org.easymock.EasyMock;
- import org.junit.Assert;
- import org.junit.Test;
-
- public class StudentApplicationTest {
- 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(student);
- String getStr=application.doMethod();
- //对 Mock 对象的行为进行验证
- String cstr="abc";//正确的字符串
- Assert.assertEquals(cstr,getStr);
- EasyMock.verify(student);
- }
- }
右键点击StudentApplicationTest.java,Run As -> JUnit Test
注:以上代码来自网络,有少许修改。