技术开发 频道

使用 JUnit 对规则进行单元测试

  如果你有很多的 TestSuite, 你应该把他们很好的组织起来。在我们的测试框架中, 一个 TestSuite 在其实例化阶段添加所有的 TestCase 。这就意味着我们只要拥有一个 TestSuite 的实例,我们就拥有了它所包含的 TestCase 。这样 , 一个 AllTest 类可以以如下方式来编写 :

  清单 8. AllTest.java

1 public class AllTest extends TestSuite{
2     
3     public AllTest(){
4         this.addTest(new LWIAttributesRatingTestSuite());
5         this.addTest(new LWIAttributesRecommendationTestSuite());
6     }
7     
8     public static void main(String[] args) {
9         AllTest at = new AllTest();
10         junit.textui.TestRunner.run(at);
11     }
12 }

  测试用例的组织可以用下图来说明。图中,每一个矩形都代表了一个“TestSuite”类。“TestSuite ”类以树形结构组织起来。你可以调用任何一个类的“main”方法来执行以这个类为树根的子树下的所有测试用例。以“WASAllTest”类为例,执行它的“main”方法将测试 “WASRecTestSuite”和 “WASRatingTestSuite”中的所有测试用例。

  图 3. 组织测试用例

  总结

  本文介绍了在对规则进行单元测试时实现可配置性和复用性。我们也介绍了一些常用的单元测试技术,比如使用 Mock 对象和扩展 JUnit 。这些技术可以使用到任何其他的单元测试中。

       代码下载地址

0
相关文章