tdd - 与测试驱动开发相结合时,代码分析 checkin 策略会降低生产力

标签 tdd code-analysis checkin-policy

我们正在使用 VS2012+TFS2012,我想添加代码分析 checkin 策略以提醒每个团队成员在 checkin 之前修复代码警告,但后来我注意到它迫使我们检查“在构建时激活代码分析” "项目选项。

我们也在做TDD,所以这意味着我们编写一个单元测试,运行它(即构建项目)以确认测试失败,我们编写代码使测试通过,然后我们再次运行测试以确认它通过。

因此对于 1 个单元测试,我们必须构建两次(最少,如果我们犯了一些编码错误,有时会更多),但是因为代码分析需要超过 10 秒才能在每个构建上运行,所以这是非常非常低效的:(

是否可以仅在 checkin 之前而不是在每次构建时强制执行运行代码分析?

最佳答案

好吧,如果您使用 Git,您可以创建一个 Pull Request 分支,在该分支上执行 TDD,然后在发送 Pull Request 之前修复所有代码分析错误 - 然后推送您建立的所有提交,包括解决代码分析警告的提交。

这就是我经常将两者结合起来的方式,而且效果很好。

如果 TFS 不允许您这样工作,这只是 TFS 如何扼杀生产力的又一个例子。

关于tdd - 与测试驱动开发相结合时,代码分析 checkin 策略会降低生产力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306739/

相关文章:

c# - 自定义 checkin 策略 : Access to filecontent from changeset files

unit-testing - 使用假货或模拟进行单元测试?

java - 如何使用 JUnit 或 Mockito 测试使用 Random() 的方法(不带参数和返回值)

.net - 从 Azure Build Pipeline 中的 FxCop 代码分析器(Roslyn)生成报告

.net-core - 如何在 Visual Studio 2019 中注册自定义 checkin 策略?

c# - 加载自定义 checkin 策略时出错 Visual Studio 2015

java - 使用 Mockito 模拟在 Grizzly 上运行的 Jersey REST Api

unit-testing - 测试驱动开发和开放/封闭原则如何协同工作?

java - 用于查找代码中可能存在问题的工具

code-analysis - 静态代码分析 : integrate into debug and release builds, 还是其中之一?