选择“Build Changes”按钮,Build验证请求将被提交到TFS服务器端进行验证,验证的内容包括:编译代码和执行自动化测试用例。如果验证成功,则会弹出下面的对话框,提示用户验证成功并且已将代码check in到Source control。
其中:
● View Changeset:通过这个链接可以查看到check in的代码changeset的详细信息;
● Reconcile Workspace:由于check in是发生在服务器端,你本地的代码变化还没有被同步,通过这个链接来帮助你解决本地代码与刚刚check in最新代码的同步;
● DogfoodBuild:DogfoodBuild是我所创建和使用的Build Definition,通过这个链接可以查看到本次Build和Check-in操作的详细信息;
特别提醒:默认创建的Build Definition定义中只验证了提交代码改变(shelve-set)的是否能够成功编译,并没有执行自动化测试用例。如果要允许自动化测试用例,则需要在Build Definition中将"Fail Build On Test Failure"设置为True,如下图所示。这样测试用例运行的结果,将决定Build的结果。
Postscript
无意中发现有人为Visual Studio 2008实现了一个类似的于Gated Check-in的工具 - TFS Check-in Validation Tool(http://buddybuild.codeplex.com/),这位老兄还是蛮有远见和魄力的,很不错,在此赞一个!
参考文献:
1. Create a Basic Build Definition
2. Define a Build Using the Default Template
3. Use the Builds Check-In Policy to Minimize Code Churn after Breaks to Continuous Builds
相关阅读:
Visual Studio 2010 Beta 2 测试功能学习(四) Test Impact Analysis
Visual Studio 2010 Beta 2 测试功能学习(三) 真正的主角儿