我是CC .NET的新手,但之前在不同的环境(不是C#)中使用过其他构建工具。
我的问题是,当我选择NAnt作为构建工具(用于构建脚本)& NUnit作为测试工具(用于测试)CC .NET是否使用我在配置文件中指定的参数执行这些工具的命令行?
例如我为我的构建脚本安装了NAnt,CC .NET是否会在NAnt目录中执行NAnt.exe以构建项目,或者通过“其他方式”执行此操作?
感谢。
答案 0 :(得分:2)
CC.NET在菜单系统中有一些现有的“Xsl插件”。
我们以NUnit为例。
好吧,如果您在项目的构建中单击CC.NET网页上的NUnit结果,您将看不到任何内容(开箱即用)。
为什么呢? 因为“super-duper”xml文件中没有NUnit xml数据,该文件包含有关构建的所有信息。
那怎么去那儿?
一种方法是运行NUNit命令行,它将创建一个输出xml文件。
NUnit.2.5.3.exe (bunch of stuff) NUnitResults.xml
(以上不是工作代码,请在这一点上滚动概念)
因此上面的命令行将创建文件NUnitResults.xml。 但即使你这样做,这个信息也不在“super-duper”xml文件中。
CC.NET有一个“文件/合并”任务,它将采用独立的xml文件,并将其“吸入”超级duper xml文件。
在进行此文件合并之后,现在Nunit数据将在super-duper-xml文件中,现在当您单击CC.NET项目/构建页面上的NUnit链接时,将会有NUnit xml- super-duper.xml文件中的数据,xsl转换实际上会做一些事情,并在cc.net项目/构建页面上创建一些html输出。
这有意义吗?
这是“单独使用xml并将其插入super-duper.xml文件”cc.net任务:
http://confluence.public.thoughtworks.org/display/CCNET/File+Merge+Task
这是NUNit CC.NET任务。现在,您不必使用CC.NET任务。您也可以(以及我的方式)在构建脚本中连接EXEC任务,该任务会创建NUnit.xml数据。 阿卡,有几种方法可以给猫皮肤。但是,当有不同的方式时,我通常会远离专有的cc.net任务。为什么?因为如果我从cc.net(例如tfs)移动,我的过渡将不那么痛苦。
http://confluence.public.thoughtworks.org/display/CCNET/Using+CruiseControl.NET+with+NUnit