如下图所示,在代码覆盖条件编辑器中可以跟更清楚地看到设置条件的内容,也可以在此继续编辑这些条件。这4条覆盖约束条件依次对应的是:模块(CalculationLib.dll=68%)、名字空间(CalculationLib.dll/Currency.Library=68%)、类(CalculationLib.dll/Currency.Library/CurrencyConverter=10%)和方法(CalculationLib.dll/Currency.Library/CurrencyConverter/CalculateCrossRate(float64,float64)=76%)。
有了这些约束条件的把关,当有任何不符合这些条件的代码需要签入时,签入操作的都会失败。例如,下图就是用户由于不满足代码覆盖约束检查,而未能通过 TFS Gated Check-in 的错误提示页。在这个结果中,我们可以看到,代码编译成果,测试全部通过,但签入的代码没能通过覆盖约束检查,所以签入失败。只有在你添加了足够的测试并和代码一起签入时,才会成功地签入进去。这绝对不是开发人员的“杯具”,而是整个团队的“洗具”,呵呵!
通过上面的介绍,我们可以看到,代码覆盖不仅是测试团队用来查找测试漏洞的工具,它还可以帮助团队来改进开发流程,代码覆盖率约束就是其中之一。虽然还没有现成的工具支持这样的约束,但Team Foundation Server 2010的Team Build功所具备的良好的扩展性,使我们可以很容易的在其平台实现代码覆盖约束。在接下来的博客,如果大家需要,我会介绍更多实现这样一个约束检查功能的细节。
相关链接: