1

1) 本周早些时候,我能够使用 Create 方法创建缺陷和测试用例,该方法当时采用 2 个参数(一个字符串和 DynamicJsonObject)。但是现在,它需要三个。我知道其中之一现在是工作区参考。如何获取工作区参考?为了创建缺陷和测试用例,我使用了一个空字符串,这对我来说似乎工作正常。这是可以预料的吗?

2)为了创建测试用例结果,我遇到了一些麻烦。

        DynamicJsonObject newTCResult = new DynamicJsonObject();
        newTCResult["Date"] = DateTime.Now.ToString("yyyyMMdd");
        newTCResult["TestCase"] = "/testcase/11271454106";
        newTCResult["Notes"] = "test";
        newTCResult["Build"] = "13.1.0.90";
        newTCResult["Verdict"] = "Pass";

        CreateResult cr = restApi.Create(" ", "TestCaseResult", newTCResult);

截至目前,当我运行它时,绝对没有发生任何事情。本周早些时候我能够成功地做到这一点(当我能够使用带有两个参数的 Create 方法时)。我觉得问题是因为我没有有效的工作区参考。在此之前,我在一个类似的问题中遵循了另一个用户的建议,该问题之前有效,但是现在我遇到了这个问题。

4

2 回答 2

1

我终于能够解决这个问题。看来日期字段需要转换为 UTC,所以我的代码现在看起来像这样

newTCResult["Date"] = DateTime.UtcNow.ToString("o");

在进行了微小的更改后,结果工作正常。

于 2013-04-10T11:03:39.750 回答
0

Creates on Stories 或 Defects 使用空字符串作为 Workspace ref 有点令人惊讶,尽管我怀疑在服务器端,Webservices API 只是为关注的用户使用 Default Workspace。

无论哪种方式,您都可以通过以下方式获得感兴趣的工作区的引用:

        String myWorkspaceName = "My Workspace";

        // Get a Reference to Target Workspace
        Request workspaceRequest = new Request("workspace");
        workspaceRequest.Fetch = new List<string>()
            {
                "Name",
                "ObjectID"
            };

        workspaceRequest.Query = new Query("Name", Query.Operator.Equals, myWorkspaceName);
        QueryResult workspaceQueryResults = restApi.Query(workspaceRequest);

        var targetWorkspace = workspaceQueryResults.Results.First();
        Console.WriteLine("Found Target Workspace: " + targetWorkspace["Name"]);

        String workspaceRef = targetWorkspace["_ref"];

然后,您可以workspaceRef在对restApi.Create().

于 2013-04-05T17:28:36.727 回答