我们在我的团队中处理该问题的方式是实际检查将产品构建到源代码控制中所需的所有参考资料。.NET 框架本身之外的任何东西,以及安装构建控制器/构建代理所获得的任何东西,都会被签入。
正位:
- 设置构建代理很简单(只需“安装 Server 2K8R2,安装构建代理,开始构建”)。
- 不必担心复杂的 SDK 安装以匹配人们的开发框。参考都是签入源代码控制的确切版本。
- 您可以获得二进制版本控制,这意味着如果您需要进行维护发布并针对去年的特定 API 版本进行构建,这非常容易。
负位:
- 有点膨胀你的源代码控制
- 将二进制文件签入源代码控制感觉很奇怪
- 需要非常警惕维护检查二进制文件的结构和清洁度,否则很容易失控
除此之外,就使测试位从您的构建代理工作.. 可能最简单的方法是安装测试代理。VS2010 中的 UI 自动化是“CodedUI 测试”框架。它扩展了普通的 VS 单元测试框架,但需要一些额外的注册才能工作。
更复杂但超级有用的长期是建立完整的“Visual Studio 实验室管理”平台。缺点是,要充分利用它,您需要连接一个 System Center Virtual Machine Manager 服务器和至少一个 Hyper-V 主机,并构建一个具有“干净”VM 快照的虚拟机(除您的产品之外的所有内容)重新测试安装)。一旦一切就绪,您将获得真正流畅的端到端构建-部署-测试体验。您通过构建系统触发产品构建,一旦完成,您的环境就会恢复到绝对干净的状态(不用担心剩余来自上一个版本的比特破坏了您的测试等),产品被发布到这个测试环境,然后它执行您的测试。
不确定您是否将 TFS 用于工作项跟踪、测试用例管理、项目规划等等。如果没有,实验室管理的东西可能太重了,无法搞砸。如果您有兴趣弄乱那部分,请在此处了解更多信息。:)