第三节:开刀练手
上节了解了单元测试的大概,下面来点实际内容:
为了验证编写的代码与期望的一致,我们需要使用一些断言(assertion),它是一个简单的方法调用 作用是判断某个语句是否为True
Assert是一个类,它包括以下方法:AreEqual,AreSame,Equals, Fail,Ignore,IsFalse,IsNotNull,具体请参看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
热爱编程,热爱技术,热爱生活