1

我有很多不属于测试文件夹的测试用例的情况。这很好,但我想编写一个应用程序来将这些“孤立”测试用例移动到一个测试文件夹中(主要是为了很容易看到测试是如何进行的)我创建的所有测试用例和测试文件夹在同一个项目中,但出现以下错误;

验证错误:TestFolder.TestCases 是无效关系。一个或多个工件位于不同的项目中。

验证错误:TestCase.TestFolder 是无效关系。一个或多个工件位于不同的项目中。

这些似乎告诉我,我正在将测试用例分配给不同项目中的测试文件夹 - 但事实并非如此。这是代码片段 - 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

从上面的评论中删除答案:)

确保他们在同一个项目中——如果他们在,你不应该收到这个消息。在同一个项目层次结构中不算数。IE 位于当前项目的子项目中的测试文件夹,即使子范围缩小 = true,也算作在不同的项目中。尝试为测试用例和目标测试文件夹添加一些输出项目名称或引用的日志记录。

如果您添加一些日志记录来输出 TestCase 和目标 TestFolder 的项目元数据,请确保同时输出 Name 和 ref - 因为项目名称不能保证是唯一的(不同的 Rally 项目可以具有相同的名称)。

于 2012-12-22T17:32:35.687 回答