第三节:开刀练手

上节了解了单元测试的大概,下面来点实际内容:

为了验证编写的代码与期望的一致,我们需要使用一些断言(assertion),它是一个简单的方法调用 作用是判断某个语句是否为True 

Assert是一个类,它包括以下方法:AreEqualAreSameEquals, FailIgnoreIsFalseIsNotNull,具体请参看NUnit的文档。

创建一个项目(我是用vs2010建立的一个web应用程序

修改一个错误

max=int32.MinValue

 

View Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using NUnit.Framework;
namespace WebApplication7
{
[TestFixture]//针对类
public partial class WebForm1 : System.Web.UI.Page
{
[Test]//针对方法
protected void Page_Load(object sender, EventArgs e)
{
test();
}
public void test()
{
//返回一个数组中的最大值
int maxval=cmp.Largestnum(new int[] {1,4,2,6,8 });
//使用断言中的判断方法,如果两值相等为ture 否则为false
Assert.AreEqual(8,maxval );

}

}
/// <summary>
/// 传递一个int数组 返回最大值
/// </summary>
public class cmp
{
public static int Largestnum(int[] list)
{
int max=0;
for (int i = 0; i < list.Length; i++)
{
if (list[i] > max)
{
max = list[i];
}
}
return max;
}
}
}

 

以上是代码 先ctrl+shift+b 先编译一下 生成项目dll 

 然后打开Nunit  --open Project --找到项目bin目录中的dll文件  ok效果

红色代表错误 原因在右侧显示 方法不是一个公共方法 我们改成public的再运行

Ok 测试通过 出现了我们最喜欢的绿色

当然这只是一个灰常简单的例子,没有考虑负数,空值等等  

下一节我们会深入介绍Nunit

posted @ 2012-02-19 15:21  Jimmy-Lee  阅读(422)  评论(4编辑  收藏  举报