• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

AOP@Work: 对方面进行单元测试

发布: 2008-10-14 09:20 | 作者: 不详 | 来源: 测试时代采编 | 查看: 81次 | 进入软件测试论坛讨论

领测软件测试网

清单 1. Highlighter 定义了突出显示行为


public aspect Highlighter{

  /* ITDs to manage highlighted words */
  private Collection Highlightable.highlightedWords;
 
  public Collection Highlightable.getHighlightedWords() {
    return highlightedWords;
  }
  public void Highlightable.setHighlightedWords(Collection
    highlightedWords){
    this.highlightedWords = highlightedWords;
  }
 
  public pointcut highlightedTextProperties() :
    (
      execution(public String getProduct())
    || execution(public String getTitle())
    || execution(public String getSummary())
    );


  String around(Highlightable highlightable) :
    highlightedTextProperties() && this(highlightable)
  {
    String highlighted = proceed(highlightable);
    for (String word : highlightable.getHighlightedWords()) {
      Pattern pattern = patternForWord(word);
      Matcher matcher = pattern.matcher(highlighted);
      highlighted = matcher.replaceAll("        \"bold\">$0");
    }
  return highlighted;
  }
 
 private Pattern patternForWord(String word) {
  return Pattern.compile("\\b\\Q" + word + "\\E\\b",
   Pattern.CASE_INSENSITIVE);
 } 
}


Highlighter 方面捕获联结点的返回值并换成突出显示的版本。它根据存储在 Highlightable 接口中一个类型间字段中的突出显示术语清单选择要突出显示的术语。可以对任何需要表现突出显示行为的类使用 Highlightable 接口,既可以使用在类声明中,也可以使用 declare parents 语句。

在这个例子的初始版本中,我选用一个非常简单的切点。在本文的后面,我将重写这个切点以展示一些测试模式。

I. 测试集成的单元

针对 :横切功能和规范

概述 :如在介绍中说明的,使用方面很容易进行集成测试。这个模式非常简单:就像行为没有实现方面那样为系统编写一个测试。换句话说,将对象放到一起、设置状态、调用方法,然后验证结果。关键是编写一个当方面行为错误或者没有应用到希望它应用的联结点处时会失败的测试。如果方面会影响多个联结点,那么就选择几个代表例子。

例子:Highlighter 的集成测试

在清单 2 中要注意的是,这个测试的操作就像对没有使用方面的应用程序一样。它将对象放到一样、设置状态、调用方法并验证结果。


文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网