技术开发 频道

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

  有了配置文件,我们需要编写代码从配置文件中读取测试数据。我们用一个接口类“SettersMap”来代表一个配置文件。参见图 1。附件“rule_test.zip”中的 BaseSettersMap.java 是 SettersMap 接口的一个实现。

  图 1. SettersMap.java

  我们提供了一个工厂接口 SettersMapFactory 来构造 SettersMap 。这里采用了抽象工厂(Abstract Factory)的设计模式。

  清单 3. SettersMapFactory.java

1 /*
2 * Created on 2008-3-13
3 *
4 * TODO To change the template for this generated file go to
5 * Window - Preferences - Java - Code Style - Code Templates
6 */
7 package attributetest.binding.spi;
8
9 import java.io.File;
10
11 /**
12 * @author jsl
13 *
14 * TODO To change the template for this generated type comment go to
15 * Window - Preferences - Java - Code Style - Code Templates
16 */
17 public interface SettersMapFactory {
18     
19      /**
20      *
21      * @return Factory 的名字
22      */
23      String getName();
24     
25      /**
26      * 从配置文件创建 SettersMap ;
27      * @param file 配置文件对应的 File 对象;
28      * @return 根据配置文件创建的 SettersMap
29      */
30      SettersMap createSettersMap(File file);
31     
32      /**
33      *
34      * @return 配置文件的扩展名,如 ".xls", ".txt" 。通常,SettersMapFactory 的类型
35      * 和配置文件的类型有一一对应的关系。
36      */
37      String getConfFileExtension();
38 }

  对于不同的文件格式,需要提供不同的“ SettersMapFactory ”。附件“ rule_test.zip “中的“ ExcelSettersMapFactory.java ”是一个 Excel 格式的实现。

0
相关文章