ccnet和单元测试

时间:2010-06-09 19:34:35

标签: unit-testing cruisecontrol.net cruisecontrol

如果项目单元测试失败,ccnet是否可以说ccnet托盘和网站中的构建失败了?

有人知道这方面的教程吗?

2 个答案:

答案 0 :(得分:4)

当然!这是持续整合的目标!

只需添加任务即可在编译后运行单元测试。它在很大程度上取决于您使用的编程语言,但您可以考虑运行EXE进行单元测试。

总结一下,示例任务顺序:

  • 从版本控制中获取来源
  • 编译来源
  • 编译测试
  • 运行测试
  • 报告

你要求一个教程,我可以给你一个例子:

  <!-- SVN implementation -->
  <sourcecontrol type="svn">
    <trunkUrl>http://dephicodetodoc.svn.sourceforge.net/svnroot/dephicodetodoc/trunk/DelphiCodeToDoc/</trunkUrl>
    <workingDirectory>$(WorkingBaseDir)\DelphiCodeToDoc</workingDirectory>
  </sourcecontrol>

  <!-- Build tasks to implement -->
  <tasks>
    <!-- Compile main application -->
    <msbuild>
      <executable>$(MSBuildPath)\MSBuild.exe</executable>
      <workingDirectory>$(WorkingBaseDir)\DelphiCodeToDoc\Source</workingDirectory>
      <projectFile>DelphiCodeToDoc.dproj</projectFile>
      <buildArgs>/target:Build /p:Config=Debug</buildArgs>
    </msbuild>

    <!-- Compile tests -->
    <msbuild>
      <executable>$(MSBuildPath)\MSBuild.exe</executable>
      <workingDirectory>$(WorkingBaseDir)\DelphiCodeToDoc\Test</workingDirectory>
      <projectFile>DelphiCodeToDoc_Tests.dproj</projectFile>
      <buildArgs>/target:Build /p:Config=XmlOutput</buildArgs>
    </msbuild>

    <!-- Execute unit tests -->
    <exec>
      <executable>$(WorkingBaseDir)\DelphiCodeToDoc\Exe\DelphiCodeToDoc_Tests.exe</executable>
      <baseDirectory>$(WorkingBaseDir)\DelphiCodeToDoc\Exe\</baseDirectory>
    </exec>

答案 1 :(得分:4)

这是如何使用NUnit设置CCNET的好教程: http://ilmatte.wordpress.com/2008/06/01/cruisecontrolnet-tutorial-part-1/

持续集成可以做更有趣的事情。例如,使用StyleCop检查代码样式,使用FxCop查找明显的错误,使用NDepend跟踪依赖关系,在登台服务器上自动部署应用程序以进行手动测试,perform acceptance testing through UI,执行性能测试等