创建定制 Java 代码

定制代码使用测试中的引用来作为输入,并将已修改的值返回到测试。使用 ICustomCode2 接口可创建定制代码,而使用 ITestExecutionServices 接口可扩展测试执行。这些接口包含在 com.ibm.rational.test.lt.kernel.services 包中。

关于此任务

注: 在定制代码中使用 ITestExecutionServices 接口来报告测试结果时,定制代码的结果将显示在测试日志中。如果您记录定制验证点判定,那么这些判定将反映在总体调度判定中。

定制代码输入值可在引用或字段引用中找到。您还可以将文本字符串作为参数传递到定制代码。用作对定制代码的输入的引用必须包含在与定制代码相同的测试中。在测试中,引用必须位于其影响的代码之前。确认测试包含了对代码的定制输入所需的引用。有关如何创建引用和字段引用的详细信息,请参阅创建引用或字段引用

如果定制代码使用外部 JAR 文件,那么您可能需要更改 Java™ 构建路径。在某些情况下,您可以通过在向测试添加定制代码之前运行测试来避免手动更改此构建路径。测试首次运行时,编译所需的类和库将添加到该构建路径。例如,如果已向其添加了定制代码的测试先前已运行,那么可导入在测试日志中创建定制事件所需的测试和性能工具平台 (TPTP) 类。但是,如果测试从未运行过,那么将发生导入错误,因为测试已运行后才会在项目的构建路径中指定这些类。

如果代码使用外部资源(例如,用于管理客户关系的 SQL 数据库或产品),那么您必须配置定制代码以在运行测试的每台计算机上工作。

定制代码保存在项目的 src 文件夹中,而该项目包含了调用此代码的测试。缺省情况下,定制代码位于 src 文件夹中名为 test 的包中。

您可以对位于多个项目中的测试来复用定制代码包。这些项目必须位于一个工作空间内。要跨项目来复用定制代码,请在定制代码包前面使用项目名称。例如,“类名”字段。

以下示例显示了两个定制代码类的标准“导航器”视图。(“测试导航器”不显示 Java 源文件。)

具有 ReplaceCC.java 和 VerifyUserID.java 类的“导航器”视图

当您向测试添加 ReplaceCC.javaVerifyYUserID.java 定制代码类并向测试返回值时,替换将列出这两个类。

测试包还包含用于项目中的测试的所生成 Java 代码。

您可以将定制代码置于其他包中(例如,custom)。 请将定制代码与所生成代码分开,特别是在您使用源控制系统的情况下。

过程

要添加定制代码:

  1. 打开测试,并选择测试元素。
  2. 单击添加插入,并选择定制代码 添加会将定制代码附加到所选测试元素下方。插入会将定制代码添加到所选测试元素上方。
    注: 在您添加或插入定制代码后,“问题”视图将显示一个错误来说明新定制代码元素没有 Java 文件。该错误消息在您单击查看代码生成代码之前会一直显示,以提醒您定制代码测试元素尚未与任何 Java 代码相关联。
  3. 检查类名字段,并完成以下步骤之一:
    • 如果要调用的代码已经存在,请更改类名以与其名称匹配。单击查看代码以在 Java 编辑器中打开此代码。
    • 如果代码不存在,那么更改类名以描述代码的用途。 单击生成代码以生成用于记录结果的模板类并在 Java 编辑器中将其打开。如果具有此名称的类存在,那么您会收到类会被覆盖的警告。
  4. 参数字段中,单击添加
  5. 在“定制代码”窗口中,选择代码所需的所有输入。定制代码”窗口将列出测试中可用作对代码的输入的所有值(测试中位于代码之前的引用或字段引用)。
  6. 单击确定 此窗口将关闭,并且所选引用将被添加到参数字段。
  7. 可选: 要将文本字符串添加为对定制代码的输入,请单击文本,然后输入要使用的文本字符串。
  8. 在测试中,在定制代码后面找到代码返回到测试的值。
  9. 突出显示该值。
  10. 右键单击突出显示的值,单击替换,并选择定制代码的类名。 将列出您已添加的定制代码类。做出了选择后,要返回到测试的值将以橙色突出显示,并且将使用此信息来更新使用者表。

下一步做什么

定制代码不会显示在“测试导航器”视图中。要查看定制代码,请打开“包资源管理器”视图并使用 Java 工具来识别已添加的定制代码。

反馈