如何在发布测试用例结果时添加测试用例

时间:2014-01-08 09:44:13

标签: rally

JsonObject addProperty不支持添加另一个JsonObject。

官方测试如下:

@Test
public void shouldConstructTheCorrectUrlWithExtraParam() {
    JsonObject body = new JsonObject();
    CreateRequest req = new CreateRequest("Defect", body);
    req.addParam("foo", "Bar");
    Assert.assertEquals(req.toUrl(), "/defect/create.js?foo=Bar&fetch=true");
}

我需要的是???:

public void shouldConstructTheCorrectUrlWithExtraParam() {
    JsonObject body = new JsonObject();
    body.add("testcase",???)
    CreateRequest req = new CreateRequest("testcaseresult", body);
    req.addParam("foo", "Bar");
    Assert.assertEquals(req.toUrl(), "/defect/create.js?foo=Bar&fetch=true");
}

1 个答案:

答案 0 :(得分:3)

我添加了其他JsonObject时出错了,它是一个ref而不是一个实例。

运作良好的代码:

public void createTestCaseResult(JsonObject testCaseJsonObject) throws IOException, URISyntaxException {
        log.println("createTestCaseResult...");

        String testCaseRef = testCaseJsonObject.get("_ref").getAsString();

        QueryRequest userRequest = new QueryRequest("user");
        userRequest.setFetch(new Fetch("UserName", "Subscription", "DisplayName"));
        userRequest.setQueryFilter(new QueryFilter("UserName", "=", "lu.han@technicolor.com"));
        QueryResponse userQueryResponse = restApi.query(userRequest);
        JsonArray userQueryResults = userQueryResponse.getResults();
        JsonElement userQueryElement = userQueryResults.get(0);
        JsonObject userQueryObject = userQueryElement.getAsJsonObject();
        String userRef = userQueryObject.get("_ref").getAsString();

        close();
        getRestApi();

        Date now = new Date();
        String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";
        SimpleDateFormat format = new SimpleDateFormat(pattern);
        JsonObject newResult = new JsonObject();
        newResult.addProperty("Verdict", "Pass");
        newResult.addProperty("Build", "2014.01.08.1234567");
        newResult.addProperty("Tester", userRef);
        newResult.addProperty("Date", format.format(now));
        newResult.addProperty("CreationDate", format.format(now));
        newResult.addProperty("TestCase", testCaseRef);
        newResult.addProperty("Workspace", workspaceRef);

        CreateRequest createRequest = new CreateRequest("testcaseresult", newResult);
        CreateResponse createResponse = restApi.create(createRequest);

        log.println("createTestCaseResult DONE:");
        log.println(String.format("Created %s", createResponse.getObject().get("_ref").getAsString()));
    }