详解.Net单元测试方法
1、测试异常
可以直接对方法进行异常测试,也可以对模拟对象进行异常测试,但是,对模拟对象进行异常测试,很少用,所以,这里就介绍对方法的异常测试。请看如下代码,当用户名为空的时候,抛出异常。
例如
publicboolValid(stringuserName,stringpassWord) { if(string.IsNullOrEmpty(userName))thrownewArgumentNullException("userNameisnull"); varisValid=userName=="admin"&&passWord=="123456"; Log.Write(userName); returnisValid; }
测试代码如下
[Test] [ExpectedException(typeof(ArgumentNullException))] publicvoidVaild_Throw_Test() { MyLoginl=newMyLogin(); l.Valid("","123456"); }
2、测试返回值
这里用到了一个LastCall的一个类,比较常用,一些辅助测试的功能,都在该类中。
测试代码如下
[Test] publicvoidValid_Return() { MockRepositorymock=newMockRepository(); varlog=mock.DynamicMock(); using(mock.Record()) { log.WriteLog("admin"); LastCall.Return(0); } varreturnValue=log.WriteLog("admin"); Assert.AreEqual(returnValue,0); }