科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道使用StrutsTestCase进行测试驱动开发

使用StrutsTestCase进行测试驱动开发

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

StrutsTestCase是基于JUnit的Struts动作测试框架。Struts将为测试应用程序的Struts动作类提供简便有效的方法。

作者:John Ferguson Smart 来源:Dev2Dev 2007年11月18日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

定制测试环境

有时,我们需要重写setUp()方法,它可以让我们指定各种非默认的配置选项。在这个例子中,我们使用另一个struts-config.xml文件,并将XML配置文件验证设为无效:

public void setUp() { 
super.setUp();
setConfigFile("/WEB-INF/my-struts-config.xml");
setInitParameter("validating","false");
}

一级性能测试

测试动作或一系列动作是测试响应时间是否在可接受的范围之内的极佳方法。通过对Struts动作进行测试,我们可以检查整个服务器端的性能(当然不包括JSP页面生成)。好的方法是在单元测试层次进行一些一级性能测试,从而快速分离并排除性能问题,并将解决方法整合到编译过程以避免性能减退。

下面是我用于一级Struts性能测试的一些基本原则:

◆尽可能多地使用组合条件进行多条件查询,以验证索引定义的正确性。
◆进行大数据量的查询测试(该查询返回大量结果),以检验响应时间及结果分页(如果有的话)。
◆进行单次及重复查询测试(在使用缓存策略的情况下检查缓存性能)。
一些开源库可以为性能测试提供帮助,比如Mike Clark创建的JUnitPerf。然而,这些数据库与StrutsTestCase的集成比较麻烦。很多情况下,一个简单的计数器就可以帮助解决这个问题。下面是进行一级性能测试的简单且有效的做法:

public void testSearchByCountry() {
setRequestPathInfo("/search.do");
addRequestParameter("country", "FR");
long t0 = System.currentTimeMillis();
actionPerform();
long t1 = System.currentTimeMillis() - t0;
log.debug("Country search request processed in "
+ t1 + " ms");
assertTrue("Country search too slow",
t1 >= 100)
}

结束语
一般而言,单元测试是敏捷编程方法的重要组成部分,对于测试驱动开发来说尤其如此。StrutsTestCase提供了对Struts动作进行单元测试的简单且有效的方法,而这类测试很难通过JUnit实现。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章