このセクションでは、ソース管理システムに 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 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 Support Notes

  • Subclipse プラグインの各バージョンは、それぞれ特定のバージョンの Subversion とだけ互換性があります。現在使用している Subclipse プラグインと、Parasoft Test がサポートする Subversion との間に互換性があることを確認してください。例えば、 Subversion 1.3 と Subclipse プラグイン 1.2 をインストールしてはいけません。 Subclipse プラグイン 1.2 が使用するのは Subversion 1.4 です。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 が生成する作業コピーに対して作業できません。Subversion 1.4 に付属の Subclipse プラグイン 1.2 を使用している場合、次のエラー メッセージを受け取ることがあります。
    svn: This client is too old to work with working copy '.'; please get a newer Subversion client
    これは、Parasoft Test がバージョン 1.3 以前のコマンドラインクライアントを使用し ていることを意味します。解決方法は、コマンドライン SVN クライアントをバージョン 1.4 に更新することです。svn --version コマンドを実行すると、クライアントのバージョンを確認できます。

ファイルを変更しようとするとダイアログが表示される理由

一部のソース管理システム (Perforce など) は、 ソースを編集するときにユーザーによるマーク (ロック) を必要とします。そのようなソース管理システムを使用している場合、ソース管理システム中の「読み取り専用」ファイルを開こうとする操作を C/C++test で行うと、C/C++test はダイアログを表示して、ファイルを書き込み可能にしてロックするかをユーザーに問い合わせます。ユーザーが [OK] をクリックしてソース管理システムのユーザー名とパスワードを入力すると、C++test はソース管理システムにアクセスしてマーク (ロック) を設定します。

ソース管理システムのサポートを有効にする

使用するソース管理システムのサポートを有効にするには、次の操作を行います。

  1. ソース管理システムのコマンドラインクライアントを環境変数の PATH に必ず設定して、 C/C++test の起動時に利用可能にします。 例えば Subversion を使用する場合、Eclipse に Subclipse プラグイン (SVN Eclipse プラグイン) をインストールするのは不十分です (Subclipse のインストールは必須ではありません)。  コマンドラインの Subversion クライアント (svn.exe ) を使 用するべきです。

  2. [Parasoft] メニューの [設定] をクリックして [設定] ページを表示します。
  3. 設定パネルの左側のペインで [Parasoft] > [スコープと作成者] ページを選択します。
  4. [ソース管理システムを使ってスコープを計算] チェックボックスをオンにします。
  5. 設定パネルの左側のペインで [Parasoft] > [ソース管理] ページを選択します。
  6. C/C++test 環境設定-概要」で説明されている自動設定プロセスによって適切なリポジトリがすでに設定されている場合、ユーザーとパスワードを入力します。ソース管理システムのクライアント実行ファイルへのパスをまだシステム パスで設定していない場合は、このパスも入力します。
    C/C++test 環境設定-概要」で説明されている自動設定プロセスによって適切なリポジトリがまだ設定されていない場合、以下の手順に従って設定します。 
    1. 使用するソース管理システムをオンにします。
    2. SCM クライアント実行モジュールへのパスを指定します。実行モジュールへのパスがシステム パスに含まれている場合、指定する必要はありません。
    3. リポジトリ プロパティ フィールドの [新規] ボタンをクリックします。選択したソース管理システムに必要なプロパティを設定し、[OK] をクリッ クします。  
    4. [OK] をクリックして[ソース管理システムの詳細] ダイアログを閉じます。
  7. 変更を適用して [OK] ボタンをクリックします。

ソース管理システムとの統合をテストするには、次の操作を行います。

  1. C/C++test の環境で、リポジトリからチェックアウトしたプロジェクトを開きます。
  2. エディターでファイルを開きます。
  3. ソースコードを右クリックし、ショートカットメニューの [Parasoft] > [行の作成者を表示] をクリックします。作成者が表示された場合は、ソース管理システムと C++test は正常に統合されています。

デバッグのヒント

ソース管理との統合における問題をトラブルシューティングするには、次のコマンドを実行しま す。コンソールに詳細なログ情報が表示されます。 -consolelog -J-Dcom.parasoft.xtest.logging.config.jar.file=/com/parasoft/xtest/logging/log4j/config/logging.on.xml.コンソールに詳細なログ情報が表示されます。

ユーザーソースコードを含んだソース管理システムからのメッセージを表示するには、さらに次のフラグを使用します。-Dscontrol.log=true

Git の構成

接続する Git リポジトリで匿名でのプルが許可されている必要があります。

  1. コマンド プロンプトを開き、リポジトリを clone します。
    git clone <repository>
  2. git URL から clone する場合、Git でチェックインされたテスト ケースを自動的にプッシュするよう、git push URL も設定します。
    git config remote.origin.pushurl git@<your repository URL> 
  3. 新しく作成されたリポジトリ user.namegit 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 などの通常は認証を要求するプロトコルの場合、ID ファイルを設定してクレデンシャルがなくてもログインできるようにするか、匿名での接続が許可されるようにする必要があります。
  • ブランチ: ソース管理モジュールが使用するローカルワークスペース内のブランチ名を入力します。このフィールドが空の場合、現在チェックアウトされているブランチが使われます。
  • 作業フォルダー: ローカル git リポジトリのルートを入力します。

シャロー クローン

Git から DTP に作成者情報をレポートする場合、クローンされたリポジトリはシャローであってはいけません。.git/shallow ファイルが存在する場合、Git リポジトリはシャローであるとみなされます。リポジトリからシャロー クローンをチェックアウトした場合、Git は作成者情報を正確に生成しない場合があります。正確な作成者情報を取得するには、フル クローンをチェックアウトする必要があります。

Perforce の構成

ソース管理システムのサポートを有効にし、[ソース管理システムの説明を作成] ダイアログで以下のリポジトリ プロパティを設定します。

  • サーバー: Perforce サーバーのマシン名と IP アドレス。
  • ポート : Perforce サーバーのポート。
  • ユーザー: リポジトリに接続するときに使用するユーザー名
  • パスワード: ユーザーのパスワード
  • クライアント: P4CLIENT 環境変数またはそれに相当する変数で指定しているように、クライアントワークスペースの名前を入力します。

ワークスペースを使用して作成者を決定する

デフォルトでは、ユーザー名を使用してファイル/ メソッドの作成者が決定されます。しかし、チームによっては、共有のユーザー名と各開発者固有のワークスペースを使用して Perforce にアクセスする場合があります。

ワークスペース名 ( またはユーザー名とワークスペース名) を使用して作成者を決定するには、[作成者] タブを開いて設定を変更します。

Subversion の構成

Parasoft の Subversion のサポートはコマンドライン クライアント 'svn' に基づきます。C/C++test と Subversion を連携して使用するには、次の点に注意してください。

  • サポート対象の 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 を使用したチーム レベルの設定共有やコマンド ラインでのオプション指定のため)。詳細については「設定ファイルでの指定」 を参照してください。 

  • No labels