本主题介绍如何将 SOAtest 连接到源码控制资源库中。

章节目录:

关于源码控制支持

插入到 Parasoft SOAtest 环境中的任何源码控制系统都可以用来管理源代码文件。

如果团队正在使用一个指定的受支持的源码系统(请参阅下面的列表)并执行必要配置(如本主题后面所述),则 Parasoft 可以:

  • 使用源码控制中的文件修订数据来决定作者(用于自动将测试失败和策略违反分配给负责的团队成员,以及根据作者和/或修改时间限制测试范围)。详情请参阅配置任务分配和代码作者设置
  • 测试前更新源码中的项目(如果启用了测试配置的通用> 源码控制> 更新项目设置)。

SOAtest 包括对以下源码控制系统开箱即用的支持:

供应商所测试版本
Git

1.7, 1.8, 1.9, 2.x

Microsoft Team Foundation Server2012, 2015, 2017, 2018, 2019
Perforce2006.2, 2015
Subversion (SVN)

1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13

可以使用源码控制 API 与其他源码控制系统集成。请参阅添加自定义源码控制集成

Subclipse 支持

每个 Subclipse 插件版本都与特定 Subversion 版本兼容。确保 Subclipse 插件与 Parasoft 支持的 Subversion 版本兼容。

例如,不要安装 Subversion 1.3 和使用 Subversion 1.4 的 Subclipse 插件 1.2。Subclipse 1.4.x 要求 JavaHL/SVNKit 的 Subversion 1.5.0 版本。Subclipse 1.4.5 已经拥有 subversion 客户端适配器 1.5.2。

低于 1.4 的 Subverison 客户端不支持 Subversion 1.4 生成的工作副本。如果使用 Subclipse 插件 1.2 (其中包括 Subversion 1.4),则可能会收到以下错误消息:

svn: This client is too old to work with working copy '.'; please get a newer Subversion client

这意味着 Parasoft 正在使用 1.3 或更早版本的命令行客户端。解决方法是将命令行 SVN 客户端更新为 1.4 版本.执行以下命名可查看客户端版本:

svn --version

为什么在尝试修改文件时会打开对话框?

某些源码控制(包括 ClearCase、Perforce、Synergy 和 Visual SourceSafe)要求用户进行编辑前对源码进行标记(锁定)。如果正在使用这些源码控制系统之一,并且提示 SOAtest 执行一项其中包括在源码控制中编辑一个“只读”文件的操作,则将首先打开一个对话框,询问您是否想让文件可写并锁定它。点击 OK,然后在打开的下一个对话框中提供源码控制用户名和密码;这允许您访问源码控制系统并设置锁定。

启用源码控制支持

若要启用对任何受支持的源码控制系统的支持:

  1. 确保用于给定源码控制的命令行客户端位于 system%PATH%/$PATH 上,并且在启动 SOAtest 时可用。

    • 例如,如果您有 Subversion,则将 Subclipse 插件安装到 Eclipse(SVN Eclipse 插件)是不够的(甚至不需要)。相反地,应该使用普通命令行 svn.exe Subversion 客户端。

  2. 选择 Parasoft> 首选项。将打开一个首选项对话框。
  3. 在首选项话框中,选择 Parasoft> 范围和作者
  4. 选中使用源码控制(修改作者)来计算范围
  5. 在首选项话框中,选择 Parasoft> 源码控制
  6. 如果已经正确设置了适当的资源库(请参阅跨团队配置 SOAtest中所述的自动配置过程),输入用户名和密码,然后指定源码控制系统可执行文件的路径(如果在系统路径上不存在)

    如果还未设置适当的资源库,(请参阅跨团队配置 SOAtest中所述的自动配置过程),请按照以下说明进行指定: 
    1. 启用要使用的源码管理系统,并指定 SCM 客户端可执行文件的路径。如果系统路径中已经存在可执行路径,则无需再次指定。
    2. 点击资源库属性字段中的新建,然后按照所选类型的源码控制系统要求输入源码控制属性。  
    3. 点击 OK 关闭源码控制说明对话框。
  7. 应用更改,然后点击 OK

若要测试集成:

  1. 在 Parasoft 环境中,打开从资源库检出的项目。
  2. 在编辑器中打开一个文件。
  3. 右键点击源码,然后选择 Parasoft> 显示代码行的作者。如果显示了正确的作者,则说明集成成功。

故障排除

您可以通过指定随 SOAtest 一起提供的 JAR 来启用排错日志,排查源码控制集成中的问题:

-consolelog J-Dparasoft.logging.config.jar.file=/com/parasoft/xtest/logging/log4j/config/verbose.console.xml

详细日志将打印在控制台中。应包括以下标志,以包含来自 SCM 系统的信息:

-Dscontrol.log=true

使用 -Dscontrol.log 标志后的输出结果可能包含用户源码片段。 

除了 SOAtest 随附的 JAR 之外,您还可以使用 parasoft.logging.config.file 系统属性指定磁盘上的 log4j 文件:

-consolelog J-Dparasoft.logging.config.file=<PATH_TO_LOG4J_FILE>

Git 配置

连接的 Git 资源库必须允许匿名 pull。

  1. 打开命令行提示符,然后克隆资源库:

    git clone <repository> 

  2. 如果通过 git URL 克隆,那么 git push  URL 还必须配置为自动 push 使用 Git 检入的测试用例。

    git config remote.origin.pushurl git@<your repository URL> 

  3. 在新建的资源库 user.name 上设置 git config

    git config user.name "<your username>" 

    如果已经设置了全局 git user.name,可以跳过此步骤。用户名必须匹配用户的 DTP 用户名。

在启用源码控制支持时,请在创建源码控制的描述对话框中指定以下资源库属性:

  • URL:指定要 pull/push 到的远程资源库 URL。如果禁用了 pull 和 push,则可以将此字段留空。可以使用所有 git urls(比如,git://host/repositoryssh://user@host user@host)。注意,由于 Git 命令行不支持使用标志设置凭证,通常情况下要求身份验证(如 ssh)的协议必须设置身份文件以启用无凭据登录,否则必须接受匿名连接。
  • 分支:在本地工作空间输入源码控制模型将使用的分支名称。如果留空,则将使用当前检出的分支。
  • 工作文件夹:输入本地 git 资源库的根。

浅表克隆

如果文件 .git/shallow 存在,则认为 Git 资源库为浅表资源库。浅表克隆一个资源库时,Git 可能无法准确生成作者数据。应该检出完整克隆,以检索精确的作者信息。  

Perforce 配置

在启用源码控制支持时,请在创建源码控制的描述对话框中指定以下资源库属性:

  • 服务器:输入 Perforce 服务器的机器名称或 IP 地址。
  • 端口:输入 Perforce 服务器的端口。
  • 用户:输入要连接到资源库的用户名。
  • 密码:输入上述用户名的密码。
  • 客户端:输入客户端工作空间名称,如 P4CLIENT 环境变量或其等效项中指定。

使用工作空间来决定作者

默认情况下,用户名可用于决定文件/方法作者。然而,有些团队使用共享的用户名和每个开发人员唯一的工作空间访问 Perforce。

如果希望使用工作空间名称(或用户名和工作空间名称)来决定作者,则打开作者选项卡,并根据需求修改设置。

Subversion 配置

Parasoft 的 Subversion 支持基于命令行客户端‘svn’。请参阅About Source Control Support,以获得所支持 SVN 版本的列表。

客户端证书必须存储在 Subversion 配置区域。Subversion 客户端有一个内置系统,用于在磁盘上缓存身份验证凭据。默认情况下,无论何时命令行客户端成功地向服务器进行身份验证,它都会将凭据保存在用户的私有运行时配置区域—在类 Unix 系统中为 ~/.subversion/auth/,在 Windows 中为 %APPDATA%/Subversion/auth/。

在启用源码控制支持时,请在创建源码控制的描述对话框中指定以下资源库属性:

  • URL:输入 SVN 服务器的 URL。URL 指定协议、服务器名称、端口号和启动资源库路径(如:svn://buildmachine.foobar.com/home/svn)。
  • 用户:输入要连接到资源库的用户名。
  • 密码:输入上述用户名的密码(未编码)。

团队基础服务器配置

 请参阅About Source Control Support,以获得所支持版本的列表

集成 Eclipse 的 SOAtest 不要求为 TFS 集成安装任何附加软件(包括所需库)。

在启用源码控制支持时,请在创建源码控制的描述对话框中指定以下资源库属性:

  • URL:输入团队基础服务器资源库的 URL(例如,http://localhost:8080/tfs)。
  • 使用自定义的凭证:如果希望提供自定义 TFS 凭证,请选择此选项,然后提供这些凭证。禁用此选项时,将使用系统凭证。
  • 用户:输入用户名。
  • 密码:输入密码。

默认情况下,SOAtest 使用缓存凭证(这可以是您的用户登录或之前登录的一些信息)访问 TFS。如果希望使用自定义凭证而不是缓存凭证,可以提供自定义凭证。

通过设置指定源码控制定义

源码控制定义可在设置中指定(比如,通过 DTP、Concerto 或在命令行中指定选项来共享整个团队的设置)。详情请参阅配置测试 

  • No labels