1

我有几个使用数据源的简单 Web 测试。每个 Web 测试只包含一个请求。

在它们运行之后,很难检测到它们失败的原因,因为它们有很多(80)并且每个都有许多在 1 到 150 之间变化的行。

因此,在将测试结果发布到 TFS 中的构建后,我使用 TFS SDK 以编程方式访问结果。

这是代码的相关部分:

foreach (var testRun in testRuns)
{
    Console.WriteLine(string.Format("{0}", testRun.Title));
    ITestCaseResultCollection testCases = testRun.QueryResults();
    foreach (ITestCaseResult testcase in testCases)
    {
        Console.WriteLine(string.Format("{0}: {1}", testcase.TestCaseTitle, testcase.Outcome));
        if (TestOutcome.Passed != testcase.Outcome)
        {
            Console.WriteLine(string.Format("\tNumber of iterations: {0}", testcase.Iterations.Count));
            foreach (ITestIterationResult iteration in testcase.Iterations)
            {
                Console.WriteLine(string.Format("\t{0}: {1}", iteration.IterationId, iteration.Outcome));
            }
        }
    }
}

问题是 testcase.Iterations.Count 始终为 0。其他所有内容都正确显示。如果我从 Visual Studio 打开测试结果,我可以看到每个迭代和详细信息。

我错过了什么?

谢谢。

4

1 回答 1

2

在调查了更多之后,我意识到我找错了地方。

我感兴趣的是获取数据绑定测试所针对的所有行的详细信息,而 ITestCaseResult.Iterations 指向为某个测试用例定义的迭代。

通过访问测试用例结果的附件来检索我感兴趣的信息:

foreach (ITestAttachment att in testCaseResult.Attachments)
{
    Console.WriteLine(string.Format("{0}\t{1}", att.Name, att.AttachmentType));
}

尤其是具有这些类型的那些: TmiTestResultDetail TmiTestRunReverseDeploymentFiles

如何提取这些附件中的信息是一个不同的问题。:)

于 2012-07-12T11:53:46.117 回答