我使用 Java 的 Rally REST API 解决方案在一个工作区中运行良好。当工作空间不同时,请告知插入测试用例结果。我被困在以下情况下,详细描述如下:*
设置
- 用户有默认的工作区/项目设置 - XXX/PPP - TC1 存在。
- 用户有权访问另一个工作区/项目设置 - YYY/QQQ - TC1 存在 -要更新的测试用例。
- 尝试使用 Rally WS 1.36 和 1.37。
- 尝试过 Rally 1.0 和 1.0.2-jar [以及适用的相关库]
脚步
我正在尝试在工作区 YYY 中设置测试用例 TC1 的结果,但似乎没有更新并因以下错误而失败。
// Query for Test Case to which we want to add results
QueryRequest testCaseRequest = new QueryRequest("TestCase");
testCaseRequest.setFetch(new Fetch("FormattedID","Name"));
testCaseRequest.setQueryFilter(new QueryFilter("FormattedID", "=", testCaseId));
String workspaceRef = "/workspace/YYY";
String projectRef = "/project/QQQ";
testCaseRequest.setWorkspace(workspaceRef);
testCaseRequest.setProject(projectRef);
QueryResponse testCaseQueryResponse = restApi.query(testCaseRequest);
JsonObject testCaseJsonObject = testCaseQueryResponse.getResults().get(0).getAsJsonObject();
String testCaseRef = testCaseJsonObject.get("_ref").toString();
//Add a Test Case Result
System.out.println("Creating Test Case Result...");
JsonObject newTestCaseResult = new JsonObject();
newTestCaseResult.addProperty("Verdict", result);
java.util.Date date= new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String timestamp = sdf.format(date);
newTestCaseResult.addProperty("Date", timestamp);
newTestCaseResult.addProperty("Notes", "Automated Test Runs");
newTestCaseResult.addProperty("Build", build);
newTestCaseResult.addProperty("Tester", userRef);
newTestCaseResult.addProperty("TestCase", testCaseRef);
CreateRequest createRequest = new CreateRequest("testcaseresult", newTestCaseResult);
CreateResponse createResponse = restApi.create(createRequest);
这在最后一行失败并出现此错误:
"{"CreateResult": {"_rallyAPIMajor": "1", "_rallyAPIMinor": "37", "Errors": ["Could not set value for Test Case: Cannot connect object to value, Test Case value is in a different workspace. [object workspace OID=XXX, value workspace OID=YYY"], "Warnings": []}}"