最近在写一个基于ASP.NET C#分层模式的WEB网站,并打算初次引入TDD的思想进行开发, 即 测试开发 ,在WEB页面没有实际内容制作出来之前,要程序与支持类库代码的正确性,就需要使用 nuint ,当然它是首选。
红色部分是测试必须的参数标识,告诉nuint的,详细参考这方面资料,绿色是一个比较,
0和newsList.Count 是否会相等,如果相等测试结果为绿色,如果不相等测试结果会是红色。
TDD的优点这个不多说了,反正让你每写完一个小段单元,就可以进行代码应用测试,而不是要等你全部完成了,制作一大堆N多的WEB页面时,通过浏览器一次次调试修改,这样的工作量容易引起连锁反应和混乱。
准备:
1、下载 NUnit 2.6.2 ,我下载的时候版本是这个了,MSI文件。
2、安装,安装之后会在安装目录中生成 nunit.framework.dll 这个文件, 在VS解决方案中新建立一全类库用于测试,如本人的NHTEST,把
nunit.framework.dll引用到类库中。

按照图片项目中我的newsService类中写了一个查询的方法
public static class NewsService{public static IList<news> getAll() {ISession session = NHelper.GetCurrentSession();IQuery iq = session.CreateQuery("from news");return iq.List<news>();}}
到这一步的时候,我想进行一次查询测试,以达到的目的是 检查配置文件和数据库连接等书写的正确 或 查询数据库情况 ,
建立一个专门用于测试的类库NHTest, 新建立 一个 newsTest.cs 测试类,输入测试代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using NUnit.Framework;using NHMODEL;using NHMODEL.Entities;using NHDAL;
namespace NHTest{[TestFixture]public class newsTest{[Test]public void getCount() {IList<news> newsList = NewsService.getAll();Assert.AreEqual(0, newsList.Count);}}}
生成VS项目,打开程序
nuint

在nuint界面上的file open file中打开编辑生成的 NHTest.dll路径。

即可看到相关的测试信息,点击RUN即可进行测试并查看结果,如下图。

目的已经达到, 数据库中记录总数是5636,与测试逻辑中的参考数字 0 不相等,故显示红色。
能够脱离浏览器并不制作WEB页面去测试程序,在每一小部分完成的时候就测试,我认为这就是TDD的美好,当你的项目变成多人分工合作开发的时候,它也许能更好的帮助于你。
附小清新女生图片一张,哈哈
