本主题说明如何将 C/C++test 连接到源码控制资源库。
章节目录:
关于 C/C++test 的源码控制支持
任何插入您的 C/C++test 环境的源码控制系统都可以用来管理您的源代码和测试文件。
如果您的团队使用下列支持的源码控制系统之一并执行本主题后续部分所述的必要配置,则 C/C++test 可以:
- 使用来自源码控制的文件修订数据来确定作者身份(用于自动将测试失败和违反政策的情况分配给负责的团队成员,以及按作者和/或修改时间限制测试范围)。详细信息请参阅配置任务分配和代码作者设置。
- 在测试之前从源码控制更新项目(需启用测试配置的通用> 源码控制> 更新项目设置)。
C/C++test 附带对以下源码控制系统的支持:
商标 | 测试版本 |
---|---|
Git | 1.7, 1.8, 1.9, 2.x |
Microsoft Team Foundation Server | 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.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。
- 由于 Subversion 1.4 中引入的变更,低于 1.4 版本的 Subversion 客户端无法使用由 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
来验证
启用源码控制支持
启用对任何支持的源码管理系统的支持:
确保给定源码控制的命令行客户端已添加到系统 %PATH%/$PATH 中,并且在启动 C/C++test 时可用。例如,如果您使用 Subversion,仅安装 Eclipse 的 Subclipse 插件(SVN Eclipse 插件)是不够的(甚至是不需要的)。相反,您应使用普通的命令行 Subversion 客户端 svn.exe。
- 选择 Parasoft> 首选项打开首选项页面。
- 在首选项页面的左窗格中选择 Parasoft> 范围和作者。
- 启用使用源码控制 (修改作者) 来计算范围选项。
- 在首选项页面的左窗格中选择 Parasoft> 源码控制。
- 如果已经设置了相应的资源库(根据 C/C++test 配置概述 中描述的自动配置过程),请输入您的用户名和密码,并指定源码控制客户端可执行文件的路径(如果尚未在您的系统路径中配置该路径)。
如果还未设置相应的资源库(参考 C/C++test 配置概述 中描述的自动配置过程),请按照以下步骤指定:- 启用要使用的源码控制系统
- 指定 SCM 客户端可执行文件的路径。如果可执行的路径已经添加到您的系统路径中,则无需指定。
- 在资源库属性字段中点击新建,然后输入所选类型的源码控制系统所需的源码控制属性。
- 点击确定关闭源码控制的描述对话框。
- 应用您的更改并点击确定。
测试集成:
- 在 C/C++test 环境中,打开从资源库中检出的项目。
- 在编辑器中打开一个文件。
- 右键点击源代码,然后选择 Parasoft> 显示代码行的作者。如果显示了正确的作者,则集成成功。
调试提示
如需对源码控制集成问题进行故障排除,请运行 -consolelog -J-Dcom.parasoft.xtest.logging.config.jar.file=/com/parasoft/xtest/logging/log4j/config/logging.on.xml.
这会将详细的日志信息打印到控制台。
如需包含源码控制系统中可能包含用户源代码片段的消息,请使用附加标志: -Dscontrol.log=true
Git 配置
您连接到的 Git 仓库必须允许匿名拉取。
- 打开命令提示符并克隆您的仓库:
git clone <repository>
- 如果从 git URL 克隆,则还必须将
git push
URL 配置为自动推送使用Git.git config remote.origin.pushurl git@<your repository URL>
签入的测试用例 - 对新创建的资源库
user.name
设置git config
。git config user.name "<your username>”
如果已经设置了全局 git user.name 则可以跳过此步骤。user.name 必须与用户的 DTP 用户名匹配。
启用源码控制支持时,请在创建源码控制的描述对话框中指定以下资源库属性:
- URL: 指定要拉取/推送的远程资源库 URL。如果禁用拉取和推送,该字段可以留空。您可以使用所有 git url(例如:git://host/repositoryssh://user@host user@host)。请注意,由于 Git 命令行不支持使用标志设置凭据,因此通常需要身份验证的协议(例如 ssh)必须设置身份文件以启用无凭据登录,或者必须接受匿名连接。
- 分支:在本地工作空间中输入源码控制模块将使用的分支的名称。如果留空,则使用当前检出的分支。
- 工作文件夹:输入本地 git 资源库的根目录。
浅克隆
如果您打算将 Git 中的作者信息报告给 DTP,则克隆的资源库不应是浅克隆。如果存在 .git/shallow
文件,则认为 Git 资源库为浅克隆。从资源库中检出浅克隆时,Git 可能无法准确地生成作者数据。您应该检出完整的克隆以检索准确的作者信息。
Perforce 配置
启用源码控制支持时,请在创建源码控制的描述对话框中指定以下资源库属性:
- 服务器:输入 Perforce 服务器的机器名称或 IP 地址。
- 端口:输入 Perforce 服务器的端口。
- 用户:输入要连接资源库的用户名。
- 密码:输入以上用户名的密码。
- 客户端:输入在 P4CLIENT 环境变量或其等效项中指定的客户端工作空间名称。
Subversion 配置
Parasoft 的 Subversion 支持基于命令行客户端 'svn’。要将 Subversion 与 C/C++test 一起使用,请确保:
- 已安装支持的 Subversion 客户端版本。
- 客户端证书存储在 Subversion 配置区域中。Subversion 客户端有一个用于在磁盘上缓存身份验证凭据的内置系统。默认情况下,每当命令行客户端成功向服务器验证自身身份时,它都会将凭据保存在用户的私有运行时配置区域中 - 在类 Unix 系统的 ~/.subversion/auth/ 中或在 Windows 的 %APPDATA%/Subversion/auth/ 中。
启用源码控制支持时,请在创建源码控制的描述对话框中指定以下资源库属性:
- 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(这可能是您的用户登录名或一些以前登录的信息)。如果想要使用自定义凭据而非缓存的凭据,则可以提供自定义凭据。
通过设置指定源码控制定义
可以在设置中指定源码控制定义(例如,通过 DTP 共享团队范围的设置或在命令行中指定选项)。详细信息,请参阅配置设置。