为了实施CI,必须使用工作的支持,以使整个过程的自动化进行,以下把该过程涉及的各种工具汇集一下
必须的工具和功能
源代码控制系统
微软的工具: Microsoft Team Foundation Server (TFS) 或VSS
开源工具:
服务端:
Subversion:http://subversion.apache.org/
AnkhSVN (http://ankhsvn.open.collab.net/)
Visual SVN Server: http://www.visualsvn.com/server/download
客户端:
VisualSVN (www.visualsvn.com/visualsvn/) 和VS集成,需要付费
TortoiseSVN (http://tortoisesvn.tigris. org ) 很流程的Shell工具
现在很流行的分布式代码管理:
GIt,一个很好的中文参考资料: http://wenku.baidu.com/view/78898a1fa76e58fafab00377.html
持续集成服务器
- 微软的Team Foundation Server,安装Build服务即可
- 开源的工具:如CruiseControl.NET and Hudson
- 商业产品:TeamCity,小团队可以用这个,免费
- 更多的产品参考: http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix
反馈机制
团队成员需要知道构建的状态,如邮件、门户信息、SMS等
构建管理 BUILD MANAGER
NAnt
MSBuild
或sln等各种构建脚本等
单元测试框架UNIT TEST FRAMEWORK
NUnit MbUnit and xUnit.net
MSTest
各种的测试框架集成
其他工具
代码分析
构建的过程对于代码规范等各方面进行自动分析也很重要,这样可以持续保持代码的质量
FxCop代码静态分析工具 http://code.msdn.microsoft.com/codeanalysis
StyleCop 代码风格检查工具http://code.msdn.microsoft.com/sourceanalysis
NDepend静态分析 www.ndepend.com 商业/开源
覆盖率工具
NCover:商业软件
PartCover :http://sourceforge.net/projects/partcover/)
VS2010自带的覆盖率测试工具
TeamCity 的代码重复分析工具
http://www.jetbrains.com/teamcity/download/download_thanks.jsp
http://www.harukizaemon.com/simian/
测试工具
工具 |
目的 |
NUnit MSTest |
Performing integration tests |
Mocking framework |
Simulating the behavior of some objects while unit testing others mocking framework that comes with NUnit. Many other good mock ing frameworks are available, such as Rhino Mocks, Moq, and Typemock Isolator. |
White |
Testing Windows Forms and Silverlight applications |
Selenium |
Testing web applications seleniumhq.org |
FitNesse |
Performing acceptance testing in a highly sophisticated manner fitnesse.org/ |
文档生成
GhostDoc是VS的一个扩展,可以自动编写XML的注释,可一定程度的提高编写效率,安装后根据提示设置,默认在方法上按Shift-Ctrl-D即可以看到自动的注释(http://submain.com/GhostDoc/)
Sandcastle工具:
Sandcastle Help File Builder (SHFB)
www.codeplex.com/Sandcastle
SHFB at http:// shfb.codeplex.com/
安装以上两个,把生成的XML文件和库加入建立工程即可生成文档
安装
WIX开源工具:
Visual Stuido的工具:
ClickOnce
Visual Studio Installer
Web Deploy
数据库CI
开源工具 :
http://code.google.com/p/roundhouse/
Visual Studio:
Visual Studio 的Database项目功能很强, 可进行存储过程的单元测试