2

一般的なコードで、testCaseは次のJsonObjectとおりです。

JsonObject result = new JsonObject();
result.addProperty("Verdict", "True");
result.addProperty("TestCase", Ref.getRelativeRef(testCase.get("_ref").getAsString()));

CreateRequest createRequest = new CreateRequest("TestCaseResult", result);
CreateResponse createResponse = restApi.create(createRequest);

私が持っている2つの主な質問は次のとおりです。

  1. testCaseResult を正しく作成していますか? (testCase プロパティは testCase への参照です)
  2. testCaseResult を testCase に添付する必要がありますか? ( testCase.addProperty("Results", "testCaseResults reference")
4

2 に答える 2

2

ありがとうカイル!例として、テスト ケースのクエリと新しいテスト ケース結果の追加を示す簡単なスニペットを次に示します。

    // Create and configure a new instance of RallyRestApi
    RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"), 
            "user@company.com", "password");
    restApi.setWsapiVersion("1.34");
    restApi.setApplicationName("RestExample_AddTagsToTestCase");        

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

    // 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", "=", "TC4"));
    QueryResponse testCaseQueryResponse = restApi.query(testCaseRequest);
    JsonObject testCaseJsonObject = testCaseQueryResponse.getResults().get(0).getAsJsonObject();
    String testCaseRef = testCaseQueryResponse.getResults().get(0).getAsJsonObject().get("_ref").toString();

    try {

        //Add a Test Case Result                
        System.out.println("Creating Test Case Result...");
        JsonObject newTestCaseResult = new JsonObject();
        newTestCaseResult.addProperty("Verdict", "Pass");
        newTestCaseResult.addProperty("Date", "2012-06-12T18:00:00.000Z");
        newTestCaseResult.addProperty("Notes", "Automated Selenium Test Runs");
        newTestCaseResult.addProperty("Build", "2012.05.31.0020101");
        newTestCaseResult.addProperty("Tester", userRef);
        newTestCaseResult.addProperty("TestCase", testCaseRef);

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

        if (createResponse.wasSuccessful()) {

            System.out.println(String.format("Created %s", createResponse.getObject().get("_ref").getAsString()));          

            //Read Test Case
            String ref = Ref.getRelativeRef(createResponse.getObject().get("_ref").getAsString());
            System.out.println(String.format("\nReading Test Case Result %s...", ref));
            GetRequest getRequest = new GetRequest(ref);
            getRequest.setFetch(new Fetch("Date", "Verdict"));
            GetResponse getResponse = restApi.get(getRequest);
            JsonObject obj = getResponse.getObject();
            System.out.println(String.format("Read Test Case Result. Date = %s, Verdict = %s",
                    obj.get("Date").getAsString(), obj.get("Verdict").getAsString()));                 
        } else {
            String[] createErrors;
            createErrors = createResponse.getErrors();
            System.out.println("Error occurred creating Test Case: ");
            for (int i=0; i<createErrors.length;i++) {
                System.out.println(createErrors[i]);
            }
        }

    } finally {
        //Release all resources
        restApi.close();
    }
于 2012-06-12T03:41:18.303 に答える
0

これを行う正しい方法は、新しいテスト ケースの結果が関連付けられているテスト ケースの参照を指定することです。作成操作が成功したら、テストケースを再度クエリすると、新しく作成されたテスト ケースの結果が結果コレクションに含まれます。

于 2012-06-11T22:35:26.503 に答える