测试方法
JUnit 3.8 命名约定规定所有测试方法名称应以单词 test 开头。这些方法不带任何参数,是空方法。测试失败通过抛出未经检查的异常来指示,通常使用 JUnit 提供的断言和故障方法指示。测试成功通过测试方法的完成来指示。
因而,我们的测试方法类似于:
|
该代码显示:
使用服务管理器,通过合作伙伴引用名称 I_PostcodePartner 访问该服务。
使用邮政编码 BR1 0AB 调用服务操作。
继承由操作返回的数据的断言。请特别注意用于导航 DataObject 的 XPath 表达式。我们使用 addressList[1]/address 之类的表达式来访问地址列表中的个别地址字符串;数组中第一个元素的索引值为 1。
将此代码粘帖到您的测试类,并保存。有了此代码后,我们就做好了执行测试的准备。
执行测试
首先,我们需要将测试模块添加到服务器。我们假设在您的 WebSphere Integration Developer 安装中已经具备了合适的 WebSphere Process Server 测试环境。确保此服务器已启动,然后在 Web 透视图的 Servers 视图中,右键单击服务器,然后选择 Add Remove Projects。并将 MP_MailServiceApp 和 MT_TestMailServiceApp 应用程序添加到服务器。
现在,我们可以使测试类在以下两个上下文中执行测试:
部署到服务器并在 SCA 环境中运行的类。
该类可用于 Cactus Servlet,因此将合适的请求提交到该 Servlet 时可以执行该类。
可以作为 JUnit 测试独立执行的 Java 类。
在独立执行时,Cactus 框架将测试类用作在服务器中部署的类的代理,并调用 Cactus Servlet。
通过右键单击并选择 Junit Test,Eclipse JUnit 工具使我们能够执行独立的 JUnit 测试类。不过,我们的测试使用 Cactus 与服务器通信,所以必须提供命令行参数来指定服务器运行的位置。
在 Web 透视图的 Project Explorer 视图中,请选择 PostCodeTest 类,然后从 Run 菜单选择 Run... 以显示 Run 对话框。
在可能的配置列表中,选择 JUnit,并单击 New。检查测试窗格,将看到项目和测试类值已填充。还可以看到您可以使用此对话框启动一系列的测试;所有类都在所选目录中。
选择 Arguments 窗格。 在 VM arguments 下输入以下代码(图 12):
-Dcactus.contextURL=http://localhost:9080/MT_TestMailServiceJUnitWeb
图 12. Cactus 测试的运行配置
请注意,这指定了 localhost 和端口 9080;如果 HTTP 请求的服务器或端口与此不同,则将需要调整此字符串以匹配您的选择。
选择 Run 来启动测试。
请注意,您已建立了此启动配置,以后只需选择此类并单击 Run => JUnit Test 就可以重复执行它。JUnit 视图然后显示运行测试的结果(图 13)。
图 13. 测试执行的结果
您可以从 JUnit 视图选择性地重新执行测试;右键单击类或测试,然后选择 Run。