我还试图通过TDD和单元测试培训团队的其他成员,以便我们能够在所有应用程序中进行单元测试,并开始向前发展,并最终进展到完全TDD w /自动构建&持续整合.我发布了a thread here关于我的攻击计划/培训议程的评论&的批评.
其中一个回复(实际上是最高投票)建议我在进行培训之前首先设置基础设施.不幸的是,我没有接触到这一点,谷歌搜索主题是困难的,因为CruiseControl.NET / nAnt / etc的页面并没有真正解释我们应该设置它的’为什么’以及所有连接到’toather’的’how’.
我们是一个小商店(大约10个开发人员),几乎只使用微软技术,并在VB.NET中进行开发.我们期待最终开始使用C#,但那是另一次.我一直在使用VS2008附带的MSTest项目进行单元测试,我一直在使用Visual Studio构建我的应用程序,并使用MSI安装项目进行部署……我们(不幸的是)使用VSS进行我们的控制 – 但这也是在砧板上,我真的想摆脱它并使用颠覆.
我知道我需要使用CruiseControl.NET for CI,以及nAnt或MSBuild来构建应用程序.我可能需要一个构建服务器来运行所有这些构建.但是,我找不到任何“连接”点并解释它们如何与彼此交互,应该在构建服务器上的内容,何时应该使用构建服务器进行构建(仅适用于部署构建,甚至是何时)只是想在您的本地环境中进行一些小改动后编译您正在开发的应用程序?).我也计划削减MSTest,因为我发现它是错误的并且将使用nUnit.
任何人都可以说明我从“知道如何做TDD”到“建立适当的基础设施以便整个团队能够做到这一点并努力工作”这个差距吗?我确实理解了持续集成是什么,但同样,我不确定应该如何设置构建服务器以及它如何与所有内容连接,以及为什么我们需要一个(例如管理层).
非常感谢你花时间陪伴.
我需要什么部分的终结者?似乎与最终的建造者和团队城市有一些重叠. Finalbuilder服务器似乎是一个CI服务器,所以我猜我不需要它. FinalBuilder似乎是一个构建服务器 – 但我认为TeamCity也是一个构建服务器……而Automise似乎是一个可视化的Windows自动化工具,就像winforms应用程序的某种开发平台一样……
_I在The Team City Supported Apps Diagram中也没有看到对最终构建器的支持:_
您想要实施CI(持续集成)流程的第一个业务顺序,为此您需要三个工具:
>源代码控制
>构建服务器
>构建客户端/脚本
我希望你已经有了某种形式的源代码控制,所以让我们谈谈另外两个.
构建服务器 – 检查源代码控制,当它发生变化(或某些其他条件满足)在某个客户端(或同一台机器)上运行构建脚本时,有几个构建服务器可用我推荐JetBrain的TeamCity它易于安装和使用(很棒的Web界面)并且最多可供20位开发人员使用(就是你).
构建脚本 – 在构建客户端上,您希望运行构建脚本来构建解决方案并运行单元测试. TeamCity有一些基本的构建和测试功能,但对于更高级的选项(构建安装程序,文档等),你需要一些脚本运行器在工作,我们使用FinalBuilder – 它不是免费的,但有非常好的编辑器.如果您正在寻找一个免费的替代方案,请查看ANT或NANT – 但是要准备好编辑大量的XML.
其他工具 – 因为成功的单元测试的一个重要部分是在开发人员的机器上编写和运行测试是多么容易,我建议你检查是否有更好的IDE或外部工具可以帮助开发人员编写和编写.进行他们的单元测试.