// add all elements of array to a List
List testList = new ArrayList();
testList.addAll( Arrays.asList( allTests ) );
return testList;
}
首先,对 Python 文件进行判断。然后,从 Python 运行时提取出一个 PyObject。这就是得到的对象,它包含将构成测试包的所有测试用例的类名(记住 —— PyObject 是 Python 对象的 Java 运行时对应物)。然后创建具体的 List 并用 PyObject 填充它,使用 __tojava__ 指示 PyObject 将其内容转换为一个 Java String 数组。最后,将控制返回 getTestSuite(),在这里装载 Jython 标识的测试用例,并将它们添加到组合包(composite)中。
在开发环境中安装测试装具模块
现在对于测试装具模块如何工作已经有了很好的认识,可能迫不及待要自己试试它了。您将需要完成以下步骤以配置 Eclipse 来运行这个装具模块。(如果使用不同的 IDE,应当可以容易地针对您的环境修改这些步骤。)
安装 Jython 2.1,如果还没安装的话。(链接请见 参考资料 )。
拷贝 getalltests.py 到主目录。
编辑 getalltests.py 第 25 行以指定到源文件的根路径,会搜索在这个位置下的所有目录中与 org 包中 *Text.java 匹配的文件名。 如果有必要,修改第 54 行以改变根包名(例如,改为 com)。将 DynamicTestSuite.java 拷贝到源树中。将以下 JAR 添加到 Eclipse 项目中: junit.jar (JUnit 框架二进制文件,下载信息请参阅 JUnit 的 Web 网站)。 jython.jar(Jython 二进制文件,位于 Jython 安装目录)。将 DynamicTestSuite 类装载到 Eclipse Java 源文件编辑器中。执行以下步骤之一: 在 Package Explorer 视图中选择 DynamicTestSuite,或者 按 Ctrl+Shift+T 并在 Choose Type 输入字段键入 DynamicTestSuite。 从文件菜单栏选择 Run,然后选择 Debug...。
选择 JUnit 配置。
单击 New按钮。将会创建一个新的 JUnit 目标, DynamicTestSuite 应当预填入 Test Class 字段。
选择 Arguments选项卡。
在 VM 参数文本框中键入 -Dpython.home=<path where you installed Jython> 。
单击 Debug按钮。
变!现在就有了一个具体的 JUnit TestCase 类,可以像静态定义的包那样处理它。设置边界并进行调试!不需要修改 Test 类,装具模块将构建一个包,就像您显式将每一个 Class 对象编写到包中一样。如要执行测试,可以通过喜爱的调试器、编译工具(如 Ant 或 CruiseControl),或者一个 JUnit 内含的 test runner 调用这个装具模块。
扩展这个装具模块
我相信您注意到了除非在运行前修改源代码,否则这个装具模块只能用于一个项目。可以容易地扩展这个装具模块让它支持多个项目。一种简单的方式是修改 getPathToScript() 以使用指定特定于项目的属性的系统属性。可以在自己的项目中自由使用它,可以不加改变地使用它,也可以以它为基础进行加工。不过,请别忘记它的 GPL 许可证。
文章来源于领测软件测试网 https://www.ltesting.net/