|
一、介绍 NUnit是一款用于在.net环境进行单元测试的工具,它的官方网站是:http://www.nunit.org,需要了解历史和下载最新版本的朋友可以去官方网站下载,目前最新版本是2.4.6了,提供msi安装文件和压缩包形式下载,并且支持.net1.1和.net2.0。目前它的最新版本是2.4.6.0。
 下载截图
二、开发
 NUnit的运行界面 利用NUnit进行开发之前,需要先添加类库引用,如下图:
 添加对NUnit.framework.dll的引用
然后编写代码
using System; using System.Collections.Generic; using System.Text;
namespace NUnitDemo { /// <summary> /// 说明:这是一个类,用于测试。 /// </summary> public class Person { private int personId; private string name; private DateTime birthday; /// <summary> /// 生日 /// </summary> public DateTime Birthday { get { return birthday; } set { birthday = value; } } /// <summary> /// 姓名 /// </summary> public string Name { get { return name; } set { name = value; } } /// <summary> /// 编号 /// </summary> public int PersonId { get { return personId; } set { personId = value; } } } }
用于测试的类:
using System; using System.Collections.Generic; using System.Text; using NUnit.Framework;
namespace NUnitDemo { [TestFixture] /// <summary> /// 说明:这是一个测试类,用来展示NUnit的用法。 /// </summary> public class Test { Person p = new Person(); public Test() { } [Test] public void CheckPersonId() { Assert.AreEqual(p.PersonId, 0);//检查对值类型数据未明确赋值之前是不是为0 } [Test] public void CheckPersonNameNull() { Assert.AreEqual(p.Name, null);//检查对字符串类型数据未明确赋值之前是不是为null } [Test] public void CheckPeronBirthday() { Assert.AreEqual(p.Birthday, DateTime.MinValue);//检查对日期时间类型数据未明确赋值之前是不是为DateTime.MinValue }
[Test] public void CheckSum() { int i = 2, j = 6; int num = 2 + 6; Assert.AreEqual(num, 9); } [Test] [Ignore("忽略的原因")] public void CheckClassType() { Assert.IsInstanceOfType(typeof(object), p); } } }
第一次使用NUnit的人可能对上面的代码有些地方感到陌生,因为NUnit通过反射来获取程序中的相关信息,从而得知哪些类中的哪些方法需要进行测试,所以有必要对NUnit的一些常用属性进行了解: TestFixture属性:用来标识类,表示这个可能包含有用于测试的方法。 Test属性:用来标识方法,表示这个方法需要进行测试(前提是该方法所在的类是可以测试的)。 SetUp属性:用来标识方法,在开始所有测试之前执行,用来在测试前初始化一些资源,比如初始化类。 TearDown属性:用来标识方法,在所有测试完成之后执行,用来释放一些资源。 Ignore属性:用来标识方法,指示这个方法由于某些原因暂时不需要测试(比如没有完成相关代码)。
共2页: 上一页 1 [2] 下一页
|