我需要搭建一个C++项目的持续集成的环境 (windows的程序),所以这几天学习了一下CruiseControl.Net (以下简称CCNet),把整个过程跟大家分享一下。
如果你没有用过CCNet,跟着我实战一把,相信会领你入门的。
本文准备分三篇:
一、工具和环境的简要介绍
二、CCNet的配置(.Net项目)
三、CCNet中C++项目的配置
废话不多说了,实战开始!
工具准备:
首先说说我的实战环境
操作系统:Windows XP 专业版 其中 IIS 5.1
开发工具:Visual Studio.net 2003 Visual Studio 2005(说明一下,我的C++项目是03环境下的,05不是必需的,但是本文中我建立的C#项目是vs05的,03的效果应该是一样的,大家应该明白,实际上的问题在于.net framework的版本,因为本文中用到的开源项目有些是基于.net framework2.0的,1.1版本的我没有实际用过,不敢乱说)
dotNet Framework版本: 装vs2005自带的2.0的。
Visual SourceSafe 2005 :英文版的,源代码版本管理工具,这个vss也自带.net framework 2.0,我没有用过其他版本的vss,但是我认为对实战不会有影响。
需要的开源项目:
Cruise Control.Net 1.3
CruiseControl.NET-CCTray 1.3
NUnit-2.4.1-net-2.0
using System;
using System.Collections.Generic;
using System.Text;
namespace SimpleLib
...{
public class Calculater
...{
public static int add(int x, int y)
...{
return x + y;
}
public static int mul(int x, int y)
...{
return x * y;
}
}
}
然后为该项目添加测试,步骤如下:
添加测试类,先新建一个类,代码如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace SimpleLib
...{
using NUnit.Framework;
[TestFixture]
public class CalculaterTest
...{
private Calculater calculater;
[SetUp]
protected void SetUp()
...{
calculater = new Calculater();
}
[Test]
public void TestAdd()
...{
int i5 = 5;
Assert.AreEqual(i5, Calculater.add(1, 4));
Assert.AreEqual(i5, Calculater.add(2, 3));
}
[Test]
public void TestMul()
...{
int i15 = 15;
Assert.AreEqual(i15, Calculater.mul(3, 5));
Assert.AreEqual(i15, Calculater.mul(5, 3));
}
[Test]
public void TestAddFailed()
...{
Assert.AreEqual(7, Calculater.mul(3, 2));
}
[Test]
public void TestAddAndMul()
...{
int i15 = 15;
Assert.AreEqual(i15, Calculater.mul(Calculater.add(2, 3), 3));
}
}其中TestAddFailed方法是故意让他测试失败的。编译后,可以用NUnit查看一下结果,方法是启动NUnit,然后File->Open Project然后选择编译生成的SimpleLib.dll文件,选择Run就可以看到结果了。
这里说一下NUnit的颜色,红色表示失败,绿色表示通过,黄色表示测试为运行。
下面就把该项目传到vss上去,这个我现在的机器上装的是vs05英文版的,只能用英文说明如何选择了。
File->Source Control->Add solution to Source Control..
按默认的名称确定就可以了,如下图:
VSS的使用省略了不少,你应该为自己建立一个User,设置一个密码,每一个User就相当一个程序员嘛~
将除了VSS的所有东西都关掉吧!
在E:/NetCruise下新建一个project文件夹
哦了,所有的东西准备差不多了,下一篇就介绍CCNet的配置。
正在写…… Don't hurry。。
本文详细介绍如何使用CruiseControl.Net搭建持续集成环境的过程。包括环境搭建、配置及C#项目的集成测试等关键步骤。
6534

被折叠的 条评论
为什么被折叠?



