JUnit和单元测试入门简介[4]

发表于:2010-04-01来源:作者:点击数: 标签:junitJUNITJunitJUnit单元
JUnit和单元测试入门简介[4] 单元测试工具 comparision fixture:这个也是比较少用的东东。 custom fixture:这个是自定义设置。只是生成一个框架。 junitx.framework包主要功能 该包以类方法的方式扩展junit.framework.Assert的功能。 也就是这时候,可以不

  JUnit和单元测试入门简介[4]  单元测试工具

  comparision fixture:这个也是比较少用的东东。

  custom fixture:这个是自定义设置。只是生成一个框架。

  junitx.framework包主要功能

  该包以类方法的方式扩展junit.framework.Assert的功能。

  也就是这时候,可以不用继承相应的类,可以直接使用断言的相关的功能。事实上基于元数据的测试框架都基本采用这种方式实现断言。

  junitx.framework.Assert

  junitx.framework.ArrayAssert

  junitx.framework.ComparableAssert

  junitx.framework.FileAssert

  junitx.framework.ListAssert

  junitx.framework.ObjectAssert

  junitx.framework.NamingAssert

  junitx.framework.OrderedTestSuite

  junitx.framework.StringAssert

  junitx.framework.ThrowableAssert

  2. 测试类的私有属性

  2.1 测试类的私有属性的实现

  使用相关类(junitx.util.PrivateAclearcase/" target="_blank" >ccessor)的方法类访问私有属性和方法。

  参考:

  ExampleJUnit_Addons_Exampleexample1目录下

  example1.TestAccount类

  example1.Account类

  2.2 实现访问类的属性和方法的原理

  利用Java的反射机制来实现的。

  l 使用java.lang.Class的相关方法,获得相关指定对象的Field,然后调用

  field.setAccessible(true);绕过访问权限的检查,然后可以访问Field的值,当然

  也可以设置Field的值。

  l 使用java.lang.Class的相关方法,获得相关指定对象的Method;然后调用

  field.setAccessible(true);绕过访问权限的检查;最后执行该方法.

  3. junitx.extensions包主要功能

  这个包实际上在使用模板方法模式创建测试用例工具类。软件测试

  使用了模板方法模式,定义抽象类,把相关的测试方法给出具体实现,把被测试对象的创建放到基本方法中。

原文转自:http://www.ltesting.net