在C#中使用Rally的rest API,我一直在尝试创建一个查询,找到一个包含字符“+”的测试用例。当我使用API创建测试用例时,+符号会使其无问题地进入项目并正确显示。然后,当我执行查询以查找名称中带有“+”的测试用例时,不会返回任何内容。我注意到在调试时查询运算符正在从“+”转换为“%2B”,并且不返回与测试用例名称匹配的结果。如何查询包含“+”符号的测试用例名称?此外,我似乎无法获得包含以下字符的测试用例:&,#,%,“”。我的查询请求代码:
string testName = "Example+";
Request requestTC = new Request("TestCase");
requestTC.Project = rallyProjectRef;
requestTC.ProjectScopeDown = false;
requestTC.ProjectScopeUp = false;
requestTC.Fetch = new List<string> { "Name", "ObjectID", "TestFolder" };
requestTC.Query = new Query("Name", Query.Operator.Equals, testName);
bool noMatchesFound = true;
QueryResult findTCMatchQueryResult = m.myRestApi.Query(requestTC);
答案 0 :(得分:0)
是的,这不起作用:
testcaseRequest.Query = new Query("Name", Query.Operator.Equals, "Example+");
每this post,查询字符串中的+符号被URL解码为空格。查询字符串中的%2B被URL解码为+符号。
然而,这也不起作用:
testcaseRequest.Query = new Query("Name", Query.Operator.Equals, "Example%2B");
我提交了缺陷DE21028。已修复的缺陷显示在what's new页面上。