テスト領域 3: チェックアウトとチェックアウトの取り消し
このソース管理プラグインのテスト領域では、[チェックアウト] と [チェックアウトの取り消し] コマンドを使用して、バージョン ストアの項目を編集したり、それを元に戻したりします。
[チェックアウト]: バージョン ストア内の項目がチェックアウト済みとしてマークされ、ローカルコピーが読み取り/書き込みに変更されます。
[チェックアウトの取り消し]: バージョン ストア内の項目がチェックイン済みとしてマークされ、ローカル コピーがチェックアウトの前の状態に戻されます (オプションによって異なります)。
コマンド メニューへのアクセス
このテスト ケースでは、次の Visual Studio 統合開発環境のメニュー パスが使用されます。
チェックアウト:
[ファイル]、[ソース管理]、[チェックアウト]。
[ファイル]、[チェックアウト]。
ショートカット メニュー、[チェックアウト]。
チェックアウトの取り消し: [ファイル]、[ソース管理]、[チェックアウトの取り消し]。
想定されている一般的な動作
チェックアウト操作の後、ターゲット ファイルやフォルダーは、バージョン ストアでチェックアウト済みとしてマークされます。
バージョン ストアでは、チェックアウトは正しいユーザーに関連付けられます。
チェックアウトの時刻と日付は (ユーザーの設定により) 正確なものになります。
テスト ケース
次に、[チェックアウト]/[チェックアウトの取り消し] のテスト領域の特定のテスト ケースを示します。
ケース 3a: チェックアウト
このセクションでは、チェックアウト コマンドの操作について説明します。
アクション | テスト手順 | 確認が必要な想定される結果 |
---|---|---|
クライアント プロジェクトを排他チェックアウトする (COE) | 1. クライアント プロジェクトを作成します。 2. ソース管理にソリューションを追加します。 3. プロジェクト全体を排他的にチェックアウトします ([ファイル]、[チェックアウト])。 |
チェックアウトが実行されます。 |
ファイル システムまたはローカル IIS Web プロジェクトを排他チェックアウトする (COE) | 1. [ツール]、[オプション]、[プロジェクト]、[Web 設定] で、[Web サーバー接続] を [ファイル共有] に設定します。 2. Web プロジェクトを作成します。 3. ソース管理にソリューションを追加します。 4. プロジェクト全体を排他的にチェックアウトします ([ファイル]、[ソース管理]、[チェックアウト])。 |
チェックアウトが実行されます。 |
ソリューション内のソリューション項目をチェックアウトする (他のファイルを処理するための新しい方法) | 1. 空のソリューションを作成します。 2. ソース管理にソリューションを追加します。 3. ソリューションをチェックアウトします。 4. ソリューション項目をいくつか追加します。 5. 新しく追加した項目をすべてチェックインします。 6. 複数のソリューション項目を選択します。 7. 選択した項目をチェックアウトします (ショートカットメニュー、[チェックアウト])。 |
選択したファイルがチェックアウトされます。 |
ローカル バージョンをチェックアウトする (テスト対象のプラグインがこの機能をサポートしている場合) | 1. ユーザー 1: クライアント プロジェクトを作成します。 2. ユーザー 1: ソース管理にソリューションを追加します。 3. ユーザー 2: ソース管理のソリューションを別の場所に開きます。 4. ユーザー 2: ファイルをチェックアウトします。 5. ユーザー 2: ファイルを変更します。 6. ユーザー 2: ファイルをチェックインします。 7. ユーザー 1: ローカル バージョンのファイルをチェックアウトします ([チェックアウト] ダイアログ ボックスの高度なオプション [ローカル バージョンをチェックアウト] をオンにします)。 |
ローカル バージョンのファイルがチェックアウトされます。 ユーザー 2 による変更は、ユーザー 1 のファイルには適用されません。 |
ケース 3b: 切断中のチェックアウト
ユーザーは、切断モードで操作することで、バージョン ストアに直接接続されていない場合でも、ある程度のソース管理サポートを続行できます。 それには、登録されているソリューションとプロジェクトについてのすべての関連情報をローカルにキャッシュします。
排他チェックアウトの操作は、ソース管理ストアに接続しているときにのみ実行できます。 共有チェックアウト操作は、接続されているかどうかにかかわらず、いつでも実行できます。 そのため、バージョン ストアから切断されている場合は、[チェックアウト共有] (COS) コマンドのみが有効になります。 切断されている間は、古いバージョンを取得してユーザーが加えた変更を置き換えることができないため、[チェックアウトの取り消し] は無効になります。
ユーザーがバージョン ストアに再接続すると、登録されているすべてのソリューションとプロジェクトのチェックアウト状態が同期されます。 これにより、ユーザーが実行したチェックアウトのストアに対して必要な更新が行われます。 同期が完了すると、ユーザーは通常どおりの (接続中の) 操作を続行できます。
想定されている動作
バージョン ストアから切断されている間は、[排他的にチェックアウト] コマンドを使用できません。
バージョン ストアから切断されている間は、[チェックアウトの取り消し] コマンドを使用できません。
[共有チェックアウト] コマンドは機能します。
アクション | テスト手順 | 確認が必要な想定される結果 |
---|---|---|
切断中にファイルをチェックアウトし、その後接続して同期する | 1. [ソース管理の変更] ダイアログ ボックス ([ファイル]、[ソース管理]、[ソース管理の変更]) を使用して、制御されているプロジェクトを切断します。 2. ファイルをチェックアウトします。 3. 警告ダイアログボックスで [接続しないでチェックアウト] をクリックします。 4. ファイルを編集します。 5. [ソース管理の変更] ダイアログ ボックスを使用して接続します。 6. 編集されたファイルの最新バージョンを取得します。 |
想定されている一般的な動作 |
ケース 3c: クエリの編集/クエリの保存 (QEQS)
ユーザーがファイルを簡単に管理できるように、ソース管理の項目の編集、変更、および保存は追跡されます。 "チェックイン" されている管理対象の項目が編集されると、QEQS では試行された編集がインターセプトされ、ユーザーにファイルをチェックアウトして編集するかどうかが確認されます。 [ツール]、[オプション] の設定で、編集の際にユーザーにファイルのチェックアウトを求めるか、またはメモリ内のコピーを編集して、後でチェックアウトすることを許可します。 ユーザーの [ツール]、[オプション] で、チェックアウト ダイアログ ボックスを表示せず、チェックアウトのみが実行されるように設定している場合、ユーザーが編集を行うと、ファイルが自動的にチェックアウトされます (可能な場合)。
想定されている動作
チェックアウト操作の後、ターゲット ファイルやフォルダーは、バージョン ストアでチェックアウト済みとしてマークされます。
バージョン ストアでは、チェックアウトは正しいユーザーに関連付けられます。
チェックアウトの時刻と日付は (ユーザーの設定により) 正確なものになります。
ターゲット ファイルまたはフォルダーのローカル コピーは書き込み可能です。
アクション | テスト手順 | 確認が必要な想定される結果 |
---|---|---|
チェックインされているテキスト ファイルを編集する | 1. テキスト ファイルを含む新しいプロジェクトを作成します。 2. ソース管理にソリューションを追加します。 3. [ツール]、[オプション]、[ソース管理]、[ディスクで読み取り専用のファイルを編集できるようにする] をオフにします。 4. [チェックインしたファイルが編集されたとき] コンボボックスで、[ツール]、[オプション]、[ソース管理]、[チェックアウトを確認する] を設定します。 5. [チェックインしたファイルが保存されたとき] コンボボックスで、[ツール]、[オプション]、[ソース管理]、[チェックアウトを確認する] を設定します。 6. エディターでテキスト ファイルを開き、ファイルで新しいテキストの入力を試みます。 この手順が成功した場合は、次の手順に進みます。 7. [編集用にチェックアウト] ダイアログ ボックスで [キャンセル] をクリックします。 この手順が成功した場合は、次の手順に進みます。 8. [ツール]、[オプション]、[ソース管理]、[ディスクで読み取り専用のファイルを編集できるようにする] をオンにします。 9. エディターでプロジェクト ファイルを開き、ファイルで新しいテキストの入力を試みます。 この手順が成功した場合は、次の手順に進みます。 10. [編集用にチェックアウト] ダイアログ ボックスで [編集] をクリックします。 この手順が成功した場合は、次の手順に進みます。 11. テキスト ファイルを編集して保存を試みます。 |
Result of step 6: [編集用にチェックアウト] ダイアログ ボックスが表示されます。 Result of step 7: ファイルは変更されていません。 Result of step 9: [編集用にチェックアウト] ダイアログ ボックスが表示されます。 Result of step 10: メモリ内のプロジェクト ファイルを編集できます。 Result of step 11: 保存時に、[チェックアウトして保存] ダイアログ ボックスが表示されます。 |
チェックインされたソリューション ファイルを編集する | 前のテストで説明した手順を繰り返しますが、テキスト ファイルを変更する代わりに、ソリューションのプロパティを変更してソリューションを変更します。 | 前のテストと同じ |
チェックインされたプロジェクト ファイルを編集する | 前のテストで説明した手順を繰り返しますが、テキスト ファイルを変更する代わりに、プロジェクトのプロパティを変更してプロジェクトを変更します。 | 前のテストと同じ。 |
ケース 3d: サイレント チェックアウト
このサブ領域では、ユーザーの [ツール]、[オプション]、[ソース管理の設定] によって、[チェックアウト] ダイアログ ボックスが表示されないチェックアウト シナリオに対応しています。
想定されている動作
チェックアウト操作の後、ターゲット ファイルやフォルダーは、バージョン ストアでチェックアウト済みとしてマークされます。
バージョン ストアでは、チェックアウトは正しいユーザーに関連付けられます。
チェックアウトの時刻と日付は (ユーザーの設定により) 正確なものになります。
ターゲット ファイルまたはフォルダーのローカル コピーは書き込み可能です。
アクション | テスト手順 | 確認が必要な想定される結果 |
---|---|---|
ファイルのサイレント チェックアウト | 1. 編集時にファイルが自動的にチェックアウトされるように、[ツール]、[オプション]、[ソース管理] を設定します。 2. ファイルを含む新しいプロジェクトを作成します。 3. ソース管理にソリューションを追加します。 4. ファイルをチェックアウトします。 |
ダイアログ (UI) を表示せずに、ファイルがチェックアウトされます。 |
プロジェクトのサイレント チェックアウト | 1. 編集時にファイルが自動的にチェックアウトされるように、[ツール]、[オプション]、[ソース管理] を設定します。 2. 新しいプロジェクトを作成します。 3. ソース管理にソリューションを追加します。 4. プロジェクトをチェックアウトします。 |
ダイアログ (UI) を表示せずに、ファイルがチェックアウトされます。 |
ケース 3e: チェックアウトの取り消し
[チェックアウトの取り消し] は、ファイルのチェックアウト状態を取り消して、ファイルに加えられた変更がチェックインされないようにする際に使用します。
想定されている動作
既定値は、ユーザーの [ローカル バージョンをチェックアウト] の設定に基づいています。 ユーザーがローカル バージョンのチェックアウトを選択した場合、チェックアウトを取り消すと、既定では常にチェックアウトされているバージョンに戻ります。
取り消しが許可されると、ソリューション エクスプローラーで影響を受けるファイルのアイコンが更新され、[保留中のチェックイン] ウィンドウから項目が削除されます。
アクション | テスト手順 | 確認が必要な想定される結果 |
---|---|---|
排他的にチェックアウトされた 1 つのファイルのチェックアウトを取り消す | 1. クライアント プロジェクトを作成します。 2. ソース管理にソリューションを追加します。 3. ファイルを排他的にチェックアウトします。 4. ファイルを変更します。 5. チェックアウトを取り消します ([ファイル]、[ソース管理]、[チェックアウトの取り消し])。 |
想定されている一般的な動作。 |
共有チェックアウトされた 1 つのファイルのチェックアウトを取り消す | 1. クライアント プロジェクトを作成します。 2. ソース管理にソリューションを追加します。 3. ファイルを共有チェックアウトします。 4. ファイルを変更します。 5. チェックアウトを取り消します ([ファイル]、[ソース管理]、[チェックアウトの取り消し])。 |
想定されている一般的な動作。 |
プロジェクトにファイルを追加した後、プロジェクトのチェックアウトを取り消す | 1. 新しいプロジェクトを作成して、ソース管理に追加します。 2. プロジェクトをチェックアウトします。 3. プロジェクトにファイルを追加します。 4. プロジェクトのチェックアウトを取り消します。 |
追加されたファイルは、ソリューション エクスプローラーのプロジェクトから削除されます。 今後、プロジェクトはチェックアウトされません。 |
プロジェクトからファイルを削除した後、プロジェクトのチェックアウトを取り消す | 1. 新しいプロジェクトを作成して、ソース管理に追加します。 2. プロジェクトをチェックアウトします。 3. プロジェクトからファイルを削除します。 4. プロジェクトのチェックアウトを取り消します。 |
削除されたファイルは、ソリューション エクスプローラーのプロジェクトの下に表示されます。 今後、プロジェクトはチェックアウトされません。 |