web-dev-qa-db-ja.com

TFSで、クエリ(C#)を使用してテストスイート内のすべてのテストケースを見つけるにはどうすればよいですか?

「テストスイート」タイプのWorkItemが与えられたTeamFoundation Serverで、そのテストスイートに関連付けられているすべてのテストケースを選択するクエリを作成するにはどうすればよいですか?

9
whoknows

残念ながら、テスト計画、スイート、およびケースの間に作成された作業項目のリンクはありません。したがって、これらは作業項目ですが、リンクはありません。これは、デフォルトのクエリが不可能であることを意味します。

回避策は、スイート内でスイートの名前を使用して すべてのテストケースにタグを付ける です。次に、 作業項目タグでフィルタリングするクエリ を使用できます。

さらに進んで、いくつかの WebフックとAzure関数 (または他のホストされたAPI)マジックを使用して、タグの作成を自動化できます。これにより、テストケースの作成(または更新)をリッスンするWebフックを作成できます。他の投稿に記載されているコードの一部を使用することで、テストケースのテストスイートを取得し、REST APIを使用して、テストケースにタグとして追加できます。

6
Wouter de Kort

TFS 2015以降を使用している場合は、

あなたはこのリンクをチェックすることができます:

  1. 使用法

  2. TestCaseExplorerツール

  3. list-bugs-and-the-test-cases-that-test-thementer image description here

tFS 2015以降を使用していない場合:

今のところ、Webインターフェイスを介して通常のTFSクエリを作成する方法はなく、特定のテストスイートに属するテストケースのリストを取得するためのAPI呼び出しやカスタムコーディングもありません。 support-querying-for-all-test-cases-in-a-specifed

または古いツールを試してください: test-plans-test-suites-test-cases-mapping

1
Jophy job

このインターフェースITestSuiteBaseを使用する必要があるかもしれません。

AllTestCases 

     Gets the read-only collection of test cases for this suite and all hierarchical children.

TestCases 

     Gets a read-only collection of test cases.

[〜#〜] msdn [〜#〜] からの詳細情報

コードの例を次に示します。

public static List<TestCase> GetAllTestCaseFromSuite(ITestPlan testPlan, int suiteId, bool includeExecutionStatus = true)
{
    List<TestCase> testCases = new List<TestCase>();
    testPlan.Refresh();
    ITestSuiteBase currentSuite = testPlan.Project.TestSuites.Find(suiteId);
    currentSuite.Refresh();
    foreach (var currentTestCase in currentSuite.TestCases)
    {
        TestCase testCaseToAdd = new TestCase(currentTestCase.TestCase, currentSuite, testPlan, includeExecutionStatus);
        if (!testCases.Contains(testCaseToAdd))
        {
            testCases.Add(testCaseToAdd);
        }
    }
    log.InfoFormat("Load all test cases in the suite with Title= \"{0}\" id = \"{1}\"", currentSuite.Title, currentSuite.Id);
    return testCases;
}

このブログを参照できる詳細: TFSテストケースC#コードの管理

1
Chamberlain

「子スイートからのテストを表示する」は、必要なオプションです。 スクリーンショットを表示するには、ここをクリックしてください 。クエリは必要ありません。オプションの名前が示すように、スイートのすべての子テストが一覧表示されます。これには、Test ManagerTFSプラグインが必要になる場合があります。

0
Milan