本主题介绍如何将 SOAtest 连接到源码控制资源库中。
章节目录:
关于源码控制支持
插入到 Parasoft SOAtest 环境中的任何源码控制系统都可以用来管理源代码文件。
如果团队正在使用一个指定的受支持的源码系统(请参阅下面的列表)并执行必要配置(如本主题后面所述),则 Parasoft 可以:
- 使用源码控制中的文件修订数据来决定作者(用于自动将测试失败和策略违反分配给负责的团队成员,以及根据作者和/或修改时间限制测试范围)。详情请参阅配置任务分配和代码作者设置。
- 测试前更新源码中的项目(如果启用了测试配置的通用> 源码控制> 更新项目设置)。
SOAtest 包括对以下源码控制系统开箱即用的支持:
供应商 | 所测试版本 |
---|---|
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。
低于 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
启用源码控制支持
若要启用对任何受支持的源码控制系统的支持:
确保用于给定源码控制的命令行客户端位于 system%PATH%/$PATH 上,并且在启动 SOAtest 时可用。
例如,如果您有 Subversion,则将 Subclipse 插件安装到 Eclipse(SVN Eclipse 插件)是不够的(甚至不需要)。相反地,应该使用普通命令行 svn.exe Subversion 客户端。
- 选择 Parasoft> 首选项。将打开一个首选项对话框。
- 在首选项话框中,选择 Parasoft> 范围和作者。
- 选中使用源码控制(修改作者)来计算范围。
- 在首选项话框中,选择 Parasoft> 源码控制。
- 如果已经正确设置了适当的资源库(请参阅跨团队配置 SOAtest中所述的自动配置过程),输入用户名和密码,然后指定源码控制系统可执行文件的路径(如果在系统路径上不存在)
如果还未设置适当的资源库,(请参阅跨团队配置 SOAtest中所述的自动配置过程),请按照以下说明进行指定:- 启用要使用的源码管理系统,并指定 SCM 客户端可执行文件的路径。如果系统路径中已经存在可执行路径,则无需再次指定。
- 点击资源库属性字段中的新建,然后按照所选类型的源码控制系统要求输入源码控制属性。
- 点击 OK 关闭源码控制说明对话框。
- 应用更改,然后点击 OK。
若要测试集成:
- 在 Parasoft 环境中,打开从资源库检出的项目。
- 在编辑器中打开一个文件。
- 右键点击源码,然后选择 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。
- 打开命令行提示符,然后克隆资源库:
git clone <repository>
- 如果通过 git URL 克隆,那么
git push
URL 还必须配置为自动 push 使用 Git 检入的测试用例。git config remote.origin.pushurl git@<your repository URL>
- 在新建的资源库
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 环境变量或其等效项中指定。
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 或在命令行中指定选项来共享整个团队的设置)。详情请参阅配置测试。