2012-06-11 61 views
1

通用代碼,其中testCaseJsonObject拉力工具包的Java如何創建,然後附加一個TestCaseResult爲TestCase

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); 

我想我有兩個主要問題是:

  1. 我是否正確創建了testCaseResult?(testCase屬性是對testCase的引用)
  2. 是否需要將我的testCaseResult附加到我的testCase? (testCase.addProperty("Results", "testCaseResults reference"

回答

2

謝謝凱爾!舉例來說,下面是一個快速代碼片段,用於說明查詢測試用例,然後向其添加新的測試用例結果:

// Create and configure a new instance of RallyRestApi 
    RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"), 
      "[email protected]", "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", "=", "[email protected]")); 
    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(); 
    } 
0

指定新測試用例結果關聯的測試用例的ref是正確的方法。一旦創建操作成功再次查詢測試用例,應該在結果集合中包含新創建的測試用例結果。

相關問題