本主题说明如何将 C/C++test 连接到您的源代码管理库。

各节内容包括:

关于 C/C++test 源代码管理支持

插入到 C/C++test 环境中的任何源代码控制系统都可以用来管理源代码和测试文件。

如果您的团队使用的是下面列出的指定的受支持源控制系统之一,并且按照本主题后面的说明执行必要的配置,则 C/C++test 可以:

  • 使用源代码管理中的文件修订数据来确定作者身份(用于将测试失败和策略违规自动分配给负责的团队成员,以及通过作者和/或修改时间来限制测试范围)。有关详细信息,请参见配置任务分配和代码作者设置
  • 在测试之前从源代码管理更新项目(如果启用了测试配置的通用> 源代码管理> 更新项目 设置)。

C/C++test 附带了对以下源代码控制系统的支持:

商标测试版本
Git1.7, 1.8, 1.9, 2.x
Microsoft Team Foundation 服务器

2012, 2015, 2017, 2018, 2019

Perforce 2006.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.4 安装 Subversion 1.3 和 Subclipse 插件 1.2。Subclipse 1.4.x 需要 JavaHL/SVNKit 的 Subversion 1.5.0 版本。Subclipse 1.4.5 已经具有 Subversion 客户端适配器 1.5.2。
  • 由于 Subversion 1.4 中引入的更改,早于 1.4 的 Subversion 客户端无法使用 Subversion 1.4 生成的工作副本。如果您正在使用 Subclipse 插件 1.2(包括 Subversion 1.4),则可能会收到以下错误消息:
    svn: 该客户端太旧,无法使用工作副本'.'; 请获取更新的 Subversion 客户端
    。这意味着 Parasoft 使用的是 1.3 或更早版本的命令行客户端。解决方案是将命令行 SVN 客户端更新为版本 1.4。客户端版本可以通过执行svn --version来验证

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

某些源代码管理(例如 Perforce)要求用户在编辑源代码之前对其进行标记(锁定)。如果您正在使用这些源代码管理系统之一,并且提示您执行 C/C++test 来执行涉及在源代码管理中编辑“只读”文件的操作,它将首先打开一个对话框,询问您是否要进行该文件可写并锁定它。单击 确定 ,然后在打开的下一个对话框中提供您的源代码管理用户名和密码。这样就可以访问源代码管理系统并设置锁定。

启用源代码管理支持

要启用对任何受支持的源代码管理系统的支持:

  1. 确保给定源代码管理的命令行客户端在系统 %PATH%/$PATH 上,并且在启动 C/C++test 时可用。 例如,如果您使用 Subversion,仅仅将 Subclipse 插件安装到 Eclipse(SVN Eclipse 插件)是不够的(甚至是必需的)。  相反,您应该具有简单的命令行 svn.exe Subversion 客户端。

  2. 选择 Parasoft> 首选项以打开首选项页面。
  3. 在【首选项】页面的左窗格中选择Parasoft> 范围和作者
  4. 启用使用源代码管理(修改作者)到计算机范围选项。
  5. 在【首选项】页面左窗格中,选择Parasoft>源代码管理
  6. 如果已经设置了适当的存储库 (通过C/C++test 配置概述中所述的自动配置过程 ),请输入用户名和密码,然后指定源代码控制客户端可执行文件的路径(如果尚未在系统路径上)。
    尚未设置(请参阅C/C++test 配置概述中描述的自动配置过程), 如下进行指定:  
    1. 启用您想要使用的源代码管理系统
    2. 指定 SCM 客户端可执行文件的路径。如果可执行文件路径已在系统路径中,则无需指定该路径。
    3. 在【存储库属性】字段中单击新建 ,然后输入所选类型的源代码管理系统所需的源代码管理属性。  
    4. 单击确定 关闭【源代码管理描述】对话框。
  7. 应用您的变更,然后单击确定

要测试集成:

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

调试提示

要对源代码管理集成的问题进行故障排除,运行 -consolelog -J-Dcom.parasoft.xtest.logging.config.jar.file=/com/parasoft/xtest/logging/log4j/config/logging.on.xml.这应导致将详细的日志信息打印到控制台。

要包含来自源代码管理系统的报文,其中可能包含用户源代码的片段,请使用其他标志:-Dscontrol.log=true

Git 配置

您连接到的 Git 存储库必须允许匿名拉取。

  1. 打开命令提示符并克隆您的存储库:
    git clone <repository>
  2. 如果从 git URL 克隆,则还必须将git push URL 配置为自动推送使用
    git config remote.origin.pushurl git@<your repository URL>检入的测试用例。 
  3. 在新创建的存储库user.name上设置git config
    git config user.name "<your username>"
    如果已经设置了全局 git user.name ,则可以跳过此步骤。user.name 必须与用户的 DTP 用户名匹配。

启用源代码管理支持时,请在【创建源代码管理说明】对话框中指定以下存储库属性:

  • URL: 指定要拉/推到的远程存储库 URL。如果禁用了推拉,则此字段可以保留为空白。您可以使用所有 git 网址(e.g.,  git://host/repositoryssh://user@host user@host)。请注意,由于 Git 命令行不支持使用标志设置凭据,因此通常需要身份验证的协议(例如 ssh)必须将身份文件设置为启用无需凭据的登录,否则它们必须接受匿名连接。
  • 分支:在源控制模块将使用的本地工作空间中输入分支的名称。如果将此留空,则将使用当前检出的分支。
  • 工作文件夹:输入本地 git 存储库的根目录。

浅克隆

如果要从 Git 向 DTP 报告作者信息,则克隆的存储库不应太浅。如果存在.git/shallow文件,则认为 Git 存储库较浅。当从存储库中检出浅克隆时,Git 可能无法准确产生作者数据。您应该检出完整的克隆以检索准确的作者信息。

Perforce 配置

启用源代码管理支持时,请在【创建源代码管理说明】对话框中指定以下存储库属性:

  • 服务器: 输入 Perforce 服务器的计算机名称或 IP 地址。
  • 端口: 输入 Perforce 服务器的端口。
  • 用户: 输入您要用来连接到存储库的用户名。
  • 密码: 输入上述用户名的密码。
  • 客户端:输入在 P4CLIENT 环境变量中指定的客户端工作空间名称或其等效名称。

使用工作空间确定作者身份

默认情况下,用户名用于确定文件/方法的作者身份。但是,某些团队使用共享的用户名和每个开发人员唯一的工作空间访问 Perforce。

如果要使用工作空间名称(或用户名和工作空间名称)来确定作者身份,请打开 作者身份选项卡并根据需要修改设置。

Subversion 配置

Parasoft 的 Subversion 支持基于命令行客户端 'svn'。要将 Subversion 与 C/C++test 一起使用,请确保:

  • 已安装受支持的 Subversion 客户端版本。
  • 客户端证书存储在 Subversion 配置区域中。Subversion 客户端具有一个内建系统,用于在磁盘上缓存身份验证凭据。默认情况下,每当命令行客户端成功向服务器进行身份验证时,它将凭据保存在用户的私有运行时配置区域中-在类似Unix的系统上 ~/.subversion/auth/ 或 %APPDATA%/Subversion/auth/ 在 Windows 上。

启用源代码管理支持时,请在【创建源代码管理说明】对话框中指定以下存储库属性:

  • URL: 输入 SVN 服务器的 URL。该 URL 应指定协议、服务器名称、端口和起始存储库路径(例如, svn://buildmachine.foobar.com/home/svn)。
  • 用户: 输入您要用来连接到存储库的用户名。
  • 密码: 输入上述用户名的密码(未编码)。

Team Foundation Server 配置

启用源代码管理支持时,请在【创建源代码管理说明】对话框中指定以下存储库属性:

  • URL: 输入 Team Foundation Server 存储库的 URL(例如, http://localhost:8080/tfs)。
  • 使用自定义凭据:如果要提供自定义 TFS 凭据,请选择此选项,然后提供这些凭据。禁用此选项后,将使用系统凭据。
  • 用户: 输入用户名。确保提供与在计算机上配置 TFS 存储库所使用的用户名相同的用户名。
  • 密码: 输入密码。

默认情况下,C/C++test 使用缓存的凭据访问 TFS(这可以是您的用户登录名或一些以前登录的信息)。如果要使用自定义凭据而不是缓存的凭据,则可以提供自定义凭据。

通过 localsettings 指定源代码控制定义

可以在 localsettings 中指定源代码控制定义(例如,通过 DTP 共享团队范围的设置或在命令行中指定选项)。有关详细信息,请参见配置本地设置 

  • No labels