1

テスト フォルダーに属さないテスト ケースが多数ある状況があります。これは問題ありませんが、これらの「孤立した」テスト ケースをテスト フォルダーに移動するアプリケーションを作成したいと思います (ほとんどの場合、テストがどのように実行されているかを簡単に確認できるようにするためです) 作成したすべてのテスト ケースとテスト フォルダー同じプロジェクトにありますが、次のエラーが発生します。

検証エラー: TestFolder.TestCases は無効な関係です。1 つ以上の成果物が別のプロジェクトにあります。

検証エラー: TestCase.TestFolder は無効な関係です。1 つ以上の成果物が別のプロジェクトにあります。

これらは、テスト ケースを別のプロジェクトのテスト フォルダーに割り当てていることを示しているようですが、そうではありません。コードの一部を次に示します。m_currentRallyProject と m_workspace は、別のメソッドによって既に設定されています。

何かご意見は?

public void CreateTestFolderForOrphanedTestCases(HierarchicalRequirement aUserStory, List<TestCase> testCases)
    {
        TestFolder myNewTestFolder = createTestFolder(aUserStory.Name);
        for (int i = 0; i < testCases.Count; i++)
        {
            TestCase myTestCase = (TestCase)testCases[i];
            myTestCase.TestFolder = myNewTestFolder;
            OperationResult myResult =  m_rallyService.update(myTestCase);
            if (hasErrors(myResult))
            {
                updateStatus("Could not set Test Folder for " + myTestCase.FormattedID);
                printWarningsErrors(myResult);
            }
            else
            {
                updateStatus("updated test case " + myTestCase.FormattedID);
            }
        }
    }

    private TestFolder createTestFolder(String testFolderName, TestFolder aParentTestFolder = null)
    {
        TestFolder myNewTestFolder = new TestFolder();
        myNewTestFolder.Name = testFolderName;
        myNewTestFolder.Project = m_currentRallyProject;
        myNewTestFolder.Workspace = m_workspace;

        CreateResult createTestFolderResult = m_rallyService.create(myNewTestFolder);
        if (hasErrors(createTestFolderResult))
        {
            // something went wrong
            Console.WriteLine("Could not create Test Folder");
            printWarningsErrors(createTestFolderResult);
        }
        else
        {
            myNewTestFolder = (TestFolder)m_rallyService.read(createTestFolderResult.Object);
            return myNewTestFolder;
        }
        return null;
    }
4

1 に答える 1

1

上記のコメントから回答をドロップします:)

それらが同じプロジェクトにあることを確認してください。同じプロジェクトにある場合、このメッセージは表示されません。同じプロジェクト階層にいることはカウントされません。つまり、現在のプロジェクトの子プロジェクトにあるテスト フォルダーは、子スコープ ダウン = true であっても、別のプロジェクトにあると見なされます。テスト ケースとターゲット テスト フォルダーの両方のプロジェクト名または参照を出力するログを追加してみてください。

TestCase とターゲット TestFolder の両方のプロジェクト メタデータを出力するログを追加する場合は、必ず Name と ref の両方を出力してください。これは、プロジェクト名が一意であることが保証されていないためです (異なる Rally プロジェクトが同じ名前を持つ可能性があるため)。

于 2012-12-22T17:32:35.687 に答える