通过Rally Web服务将测试用例分配给测试文件夹

时间:2012-12-20 13:24:35

标签: c# web-services soap rally

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

验证错误: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;
    }

1 个答案:

答案 0 :(得分:1)

从上述评论中删除答案:)

确保他们在同一个项目中 - 如果他们是这样的话你就不应该得到这个消息。处于相同的项目层次结构中并不重要。 I.E.当前项目的子项目中的测试文件夹,即使子项范围缩小= true,也计入另一个项目中。尝试添加一些输出Project Name或ref的测试用例和目标测试文件夹。

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