追求代码质量: 用 JUnitPerf 进行性能测试
2009-11-19 00:00:00 来源:WEB开发网例如,假设存在一个 Widget 应用程序,其中,特定的对于业务致关重要的方法(如 createWidget())是严格的性能限制的测试目标。假设需要对执行该 create() 方法的功能方面进行性能测试。这通常会由不同的团队使用不同的工具在开发周期的后期加以确定,这通常不能指出精确的方法。但假设决定选择早期经常测试 方法取而代之。
创建 TimedTest 首先要创建一个标准的 JUnit 测试。换言之,将对 TestCase 或其派生类进行扩展,并编写一个以 test 开头的方法,如清单 1 所示:
清单 1. 简单的 widget 测试public class WidgetDAOImplTest extends TestCase {
private WidgetDAO dao;
public void testCreate() throws Exception{
IWidget wdgt = new Widget();
wdgt.setWidgetId(1000);
wdgt.setPartNumber("12-34-BBD");
try{
this.dao.createWidget(wdgt);
}catch(CreateException e){
TestCase.fail("CreateException thrown creating a Widget");
}
}
protected void setUp() throws Exception {
ApplicationContext context =
new ClassPathXmlApplicationContext("spring-config.xml");
this.dao = (WidgetDAO) context.getBean("widgetDAO");
}
}
由于 JUnitPerf 是一个基于装饰器的框架,为了真正地驾驭它,必须提供一个 suite() 方法并将现有的测试装饰以 TimedTest。TimedTest 以 Test 和执行该测试的最大时间量作为参数。
更多精彩
赞助商链接