本主题解释如何将 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 与其他源代码控制系统集成。请查阅 添加自定义源代码控制集成

不推荐使用的源代码控制系统

自 SOAtest 2020.1 版本起,不再支持以下 SCM:

关于配置信息,请查阅 Configuring Deprecated Source Control Systems 。

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

This means that Parasoft is using a command-line client that is version 1.3 or older.解决方法是将命令行 SVN 客户端更新为 1.4 版本.执行以下命名可查看客户端版本。

svn --version

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

启用源代码控制支持

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

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

  2. 选择 Parasoft> Preferences。将打开 Preferences 话框。
  3. 在 Preferences 话框中,选择 Parasoft> Scope and Authorship 。
  4. 选中 Use source control (modification author) to compute scope
  5. 在 Preferences 话框中,选择 Parasoft> Source Controls 。
  6. 如果已经正确设置了适当的资源库(请查阅 跨团队配置 SOAtest中所述的自动配置过程),输入用户名和密码,然后指定源代码控制系统可执行文件的路径(如果在系统路径上不存在)。

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

若要测试集成:

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

若要使用源代码控制继承来排除故障问题,则运行 -consolelog -J-Dcom.parasoft.xtest.logging.config.jar.file=/com/parasoft/xtest/logging/log4j/config/logging.on.xml。这将导致将详细的日志信息打印到控制台。

若要包含来自源代码控制系统的可能包含用户源代码片段的消息,请使用附加标志:-Dscontrol.log=true

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 用户名。

在启用源代码控制支持时,请在 Create Source Control Description 对话框中指定以下资源库属性:

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

Perforce 配置

在启用源代码控制支持时,请在 Create Source Control Description 对话框中指定以下资源库属性:

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

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

Subversion 配置

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

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

在启用源代码控制支持时,请在 Create Source Control Description 对话框中指定以下资源库属性:

团队基础服务器配置

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

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

在启用源代码控制支持时,请在 Create Source Control Description 对话框中指定以下资源库属性:

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

配置不推荐使用的源代码控制系统

不支持以下 SCM,它将在将来的版本中终止。

AccuRev 配置

在启用源代码控制支持时,请在 Create Source Control Description 对话框中指定以下资源库属性:

ClearCase 配置

若将 ClearCase 与 SOAtest 一起使用:

在启用源代码控制支持时,请在 Create Source Control Description 对话框中指定以下资源库属性:

CVS 配置

若将 CVS 与 SOAtest 一起使用,请确保 .cvspass 文件位于以下路径之一:

在启用源代码控制支持时,请在 Create Source Control Description 对话框中指定以下资源库属性:

常规选项

自定义 SSH/CVS_RSH 选项卡

Serena Dimensions 配置

要想将 Serena Dimensions 和 SOAtest 一起使用,那么 Linux 和 Solaris 用户应该在为使用 Serena 程序准备的环境中运行 SOAtest,比如 'dmcli’

  • LD_LIBRARY_PATH 应该包含到 <SERENA Install Dir>/libs 的路径。
  • 应指定 DM_HOME 。

由于许多 Solaris 用户通常通过运行 Serena dmgvar.sh 文件来设置所需的 Serena 变量,所以它也需要修改 LD_LIBRARY_PATH 变量。要想将 Serena Dimensions 和 SOAtest 一起使用,那么 LD_LIBRARY_PATH 需要包含以下项目(客户端上的路径可以不同):

  • SSL/Crypto library - /usr/local/ssl/lib
  • STDC++ library -  /usr/local/lib

在启用源代码控制支持时,请在以下选项卡中指定资源库属性:

属性选项卡

Workset Map 选项卡

如果项目已下载/移动到默认工作区以外的位置,则使用此选项卡来指定使用 Serena 存储库的项目(或流)和本地项目之间的映射。

如果在默认工作区中工作,则不需要定义映射。 

输入将工作区资源映射到 Serena Dimension 资源库路径的表达式。

StarTeam 配置

必须安装 Borland StarTeam SDK。这可以从 Borland 网站免费下载。

对于 Visual Studio 插件,Parasoft StarTeam 支持适用于 VS 2005 和 VS 2008。在启用源代码控制支持时,请指定以下资源库属性:

Synergy 配置

支持以下 Synergy/CM 通讯方式:

在启用源代码控制支持时,请在 Create Source Control Description 对话框中指定以下资源库属性:

Visual SourceSafe 配置

在启用源代码控制支持时,请在 Create Source Control Description 对话框中指定以下资源库属性:

通过 localsettings 指定源码控制定义

源码控制定义可在 localsettings 中指定(比如,对于通过 DTP、Concerto 共享团队范围的设置,或在命令行指定选项)。有关更多详情,请查阅 Configuring Localsettings 。