Vicky Wang
本文档是一个简单的示例,演示了用Jetif创建你自己的测试程序的步骤。因为是一个“快速开始”的文档,所以仅仅包含一些基本功能的简单介绍,如需要详细信息请参考《用户手册》。
要创建测试案例,至少需要创建一个包含测试方法的测试类,例如下面的例子:
public class MyFirstTest { public boolean testMethod1() { return true; } }
是不是很简单?噢!简单是简单了,但还没有测试代码呢!我们需要加一些测试代码到测试方法里面去。例如为了测试一个Account类,我们可能会加入如下的代码:
public class MyFirstTest { public boolean testMethod1() throws Exception { Account account = new Account("Smith"); // create a new account with balance 0. account.deposit(100); // deposit $100 return account.getBalance() == 100; } }
如果Account类已经被恰当地实现了的话,上面的代码就会成功运行。为了运行这个例子,只要在命令行执行如下命令:
java -cp %CLASSPATH% jetif.ui.Console class:MyFirstTest
命令行里的%CLASSPATH%需要被替换成合适的类路径,必须包含jetif.jar,xerces.jar以及测试类。当测试结束时,一个叫做MyFirstTest.txt的文件会在你执行命令所在的目录下被创建出来,它会报告有一个叫做testMethod1的案例测试通过。
注意:在这里,boolean和void都可以作为测试方法的返回类型,请参考《用户手册》了解更详细的信息。
一般而言,有必要为一个应用程序创建多个测试案例,把他们组织起来,并且一起运行。为了这个目的,我们引入了“组(suite)”的概念。组是由一些测试案例组成的,并且这些测试案例会被一起运行。
组定义(suite spec)是一个用来定义组的运行时对象,它会在一个组运行之前装载,并且为组提供必要的规格信息。为了装载组定义,测试框架需要一个组装载器(suite loader)。测试框架本身支持几种装载器:XML profile装载器,简单类装载器和JUnit组装载器。当然用户也可以自己定义从特定来源装载组定义的装载器。
上面那个简单的测试案例中的测试方法只能采用写在代码中的常量作为被测试方法的参数。但是Jetif是可以让用户在运行时传递参数的。所有测试案例的运行时参数,期望的测试结果都应当在组定义中定义,因此我们可以改变参数而不需要重新编译测试代码。为了在运行时接受参数,测试方法必须有一些参数项。例如:
public class MyFirstTest { public int testMethod2(int input) throws Exception { Account account = new Account("Smith"); // a new account with balance 0. account.deposit(input); return account.getBalance(); } }
下面是XML profile,也就是XML形态的组定义(sample.spec):
<?xml version="1.0" encoding="ASCII"?> <suite name="MyFirstSuite" class="jetif.ext.BasicSuite"> <properties> <property name="test.class">MyFirstTest</property> </properties> <testcase name="Test Case1"> <method name="testMethod1"> <expected>true</expected> </method> </testcase> <testcase name="Test Case2"> <method name="testMethod2"> <param>50</param> <expected>50</expected> </method> </testcase> </suite>
为了运行这个组,在命令行中执行如下命令,这里的%CLASSPATH%需要被替换成合适的类路径,必须包含jetif.jar,xerces.jar以及测试类:
java -cp %CLASSPATH% jetif.ui.Console sample.spec
你将可以在你执行命令的目录下得到一个名为MyFirstSuite.txt的结果文件。
提示:一个测试案例可能包含多个测试方法。
点击这里下载相关文件包。
Translations: English
版权所有 © 2004,2005 Vicky Wang, 保留所有权利。