关闭

EasyMock 单元测试

发表于:2015-2-11 11:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:feng1456    来源:51Testing软件测试网采编

  Java开发过程中需要使用EasyMock做单元测试,今天上手使用了一下,记录之!
  开发环境:
  JDK7.0+MyEclipse10+EasyMock3.3.1+Win7+JUnit4
1) 接口IAlgorithm.java
package com.wicresoft.EKA;
public interface IAlgorithm {
public int Add(int x,int y);
public int Mul(int x,int y);
}
2) 实现接口
package com.wicresoft.EKA;
public class Algorithm implements IAlgorithm {
public int Add(int x,int y){
return x + y;
}
public int Mul(int x,int y){
return x * y;
}
}
3) 调用者
package com.wicresoft.EKA;
public class Calcutor {
private IAlgorithm agent;
public Calcutor(IAlgorithm agent){
this.agent = agent;
}
public int CalcAdd(int x,int y){
return agent.Add(x, y);
}
}
4) 单元测试
package com.wicresoft.EKA.Test;
import static org.junit.Assert.*;
import org.easymock.EasyMock;
import org.easymock.EasyMockSupport;
import org.junit.Test;
import com.wicresoft.EKA.*;
public class AlgorithmTest extends EasyMockSupport {
@Test
public void testAdd() {
Algorithm algorithm = new Algorithm();
int expected = 10;
int actual = algorithm.Add(3, 7);
assertEquals(expected, actual);
}
@Test
public void testMul() {
try{
int x = 3;
int y = 4;
int z = 7;
IAlgorithm mock = createMock(IAlgorithm.class);
Calcutor calc = new Calcutor(mock);
EasyMock.expect(calc.CalcAdd(x,y)).andReturn(z).anyTimes();
EasyMock.replay(mock);
EasyMock.verify(mock);
}catch(Exception e){
e.printStackTrace();
}
}
}
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号