跑跑单元测试(NUnit)

关于单元测试,网上很多讲得详细文章,那些基本的操作作为程序员应该可以很轻松的掌握,一些基本用法,比如Test,TestFixture,Ignore,SetUp,Assert等用法大伙都是用得烂熟的,简单的几步操作可以就让原有程序上实现单元测试的扩展.其实做的更多的是复制原来的项目程序,重构一个专门用于测试的项目.至于单元测试的好处,也不多说了.以下是两个实际例子,相互学习一下.......
1.
用过NUnit的都知道,NUnit.Framework命名空间下有个IConstraint接口,这个接口主要用在Assert.That()等方法中,比如Assert.That("", Is.Empty); 其中Is.Empty的Empty就是继承了IConstraint接口,NUnit提供的确实够丰富了,不过既然给了个接口,就留给用户一个扩展的余地,可以实现一些相对复杂的逻辑,比如实际开发中可能需要判断提交日期是不是工作日,以下例子就是自定义一个Constrait来实现对是否工作日的判断


继承IConstraint的类
调用

例2 指定异常的处理方法
有个Attribute叫ExpectedException,通常情况下会指定一个异常类型,不指定异常类型时对任意异常都有效,但是这个ExpectedException有个不好就是,如果出现了异常不能用try/catch去捕获,否则就与愿意相违背,如果用了try/catch那么就会出现red bar,即异常没有抛出,但是我们实际开发的时候还需要记录异常信息,针对这点,NUnit提供了个简单的方法,那就是指定一个异常处理方法,具体如下,其中Hander的值就是异常处理方法的名称

处理异常


 

posted @ 2007-08-26 17:18  神八  阅读(553)  评论(1编辑  收藏  举报