【发布时间】:2017-02-14 23:14:46
【问题描述】:
我已经搜索了大约 2 周,但遗憾的是找不到任何有效的解决方案。
UseCase 不是很棘手。我会尽快描述:
情况:
我使用 Microsoft.VisualStudio.TestTools.UnitTesting 实现了自动化 C# Web 服务测试。 这些测试通过 vs-team-services 上的 Build-Job 每晚运行。 只要我不使用数据驱动的测试,报告就很好且可追溯(史诗/功能/任务--> 测试用例--> 错误)。 (我使用了测试套件和测试用例工作项并配置了每个测试用例的“关联自动化”)
问题是: 如果我使用数据驱动测试(csv 文件),我可以...
1) ...使用 Testcategory 属性注释代码中的测试方法并在构建中配置一个测试程序集,然后它将使用分配/配置的测试类别运行所有测试方法。在这种情况下,测试运行或构建包含每个数据行的报告,这很好。但是可追溯性完全丢失了,因为没有可能与任务或错误相关的测试用例(vsts-workitems)。
2) ...创建一个测试用例(工作项),将其添加到测试套件/计划并配置构建以运行套件/计划。现在可追溯性“很好”,因为测试用例可以与任务或错误相关。但是构建报告只包含一个测试用例,即使是 csv 文件也有例如200 个数据行。每个数据行包含一个测试的数据。例如,如果一个数据行(测试)失败,则测试用例(vsts-workitem)失败,即使 199 次测试成功。
我在寻找什么:
第一种方法可以追溯,第二种方法可以为每个数据行报告。
我想知道这个话题以前没有被讨论过,并期待新的机会/方法。提前致谢。
【问题讨论】:
-
带有详细测试结果的自定义构建结果扩展怎么样? (从结果文件中读取详细的测试结果,例如 trx)
-
我检查了附加到 Test-RUN 的 trx 文件,它向我显示了与 BUILD 不同的结果。你是对的,所有的 DD 测试都显示了它的结果。所以我必须指出 BUILD 结果与 Test-RUN 结果不同。我找不到任何好的理由,为什么应该这样设计。 (如果您使用 TestCase Workitems 并将自动化与它关联起来,就会出现这种情况。)
-
驱动测试,虽然数据行多,但也只是一个测试点。所以,如果有记录失败,那么最终的结果就是失败。
标签: c# automated-tests azure-devops reporting data-driven-tests