2008年08月25日17:21:34 星期一 | 作者:marcian
- 有计划的开发(The Planning Game):通过结合使用优先级”故事”和技术估算,确定下一版本的功能
- 小版本(Small Release):以小的增量版本经常向客户发布软件
- 隐喻(System Metaphor) :隐喻是一个简单、共享的”故事”或描述,说明系统如何工作
- 简单设计(Simple Design):通过保持代码简单从而保证设计简单。不断的在代码中寻找复杂点并且立刻进行移除
- 测试驱动开发(TDD):用户编写测试内容以对”故事”进行测试。程序员编写测试内容来发现代码中的任何问题。在编写代码前先编写测试内容
- 重构(Refractoring):这是一项简化技术,用来移除代码中的重复内容和复杂之处
- 结对编程(Pair programming):团队中的两个成员使用同一台计算机开发所有的代码。一个人编写代码或者驱动,另一个人同时审查代码的正确性和可理解性
- 集体代码所有权(Collective Code Ownership):任何人都拥有所有的代码。这就意味这每个人都可以在任何时候变更任何代码
- 持续集成(Continuous Integration):每天多次创建和集成系统,只要任何实现任务完成就要进行
- 每周 40 个小时(40-hour Week):程序员在疲劳时无法保证最高效率。连续两周加班是绝对不允许的
- 现场客户(On-site Customer):一名真实的客户全时工作于开发环境中,帮助定义系统、编写测试内容并回答问题
- 编码标准(Code Standards):程序员采用一致的编码标准证
极限编程中有四个核心价值
沟通(Communication)、简单(Simplicity)、反馈(Feedback)和勇气(Courage)。
分类:Java | 评论(202)
2008年08月12日15:38:44 星期二 | 作者:marcian
EasyMock是用于JUnit中的虚拟测试辅助包,它提供对interface类的模拟,能够通过录制、回放、检查三步来完成大体的测试过程,可以验证方法的调用种类、次数、顺序,可以令mock对象返回指定的值或抛出指定异常。
EasyMock的主页:http://www.easymock.org。
一段简单的代码:
接口:
public interface Calculator {
public int add(int number1,int number2);
public int sub(int number1,int number2);
}
调用类:
public class Bank {
private Calculator cc;
public void setCc(Calculator cc)
{
this.cc=cc;
}
public int add(int number1,int number2)
{
return cc.add(number1, number2);
}
public int sub(int number1,int number2)
{
return cc.sub(number1, number2);
}
}
测试类:
import junit.Calculator;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import static org.easymock.EasyMock.aryEq;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import java.util.*;
public class TestCalculator {
private Calculator mock;
private Bank bank;
@Before
public void setUp() throws Exception {
mock=createMock(Calculator.class);
bank=new Bank();
bank.setCc(mock);
}
@Test
public void testAdd() {
expect(mock.add(1,2)).andReturn(4);
replay(mock);
assertEquals(bank.add(1, 2),3);
verify(mock);
}
}
分类:Java | 评论(1283)