我的情况是有很多测试用例不属于测试文件夹。这很好,但是我想编写一个应用程序来将这些“孤立的”测试用例移动到一个测试文件夹中(大多数情况下很容易看到测试是如何进行的) 我创建的所有测试用例和测试文件夹都在同一个项目中,但是我收到以下错误;
验证错误: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;
}
答案 0 :(得分:1)
从上述评论中删除答案:)
确保他们在同一个项目中 - 如果他们是这样的话你就不应该得到这个消息。处于相同的项目层次结构中并不重要。 I.E.当前项目的子项目中的测试文件夹,即使子项范围缩小= true,也计入另一个项目中。尝试添加一些输出Project Name或ref的测试用例和目标测试文件夹。
如果添加一些输出TestCase和目标TestFolder的Project元数据的日志记录,请确保同时输出Name和ref - 因为Project Name不保证是唯一的(不同的Rally Projects可以具有相同的名称)。