步遥情感网
您的当前位置:首页详解.Net单元测试方法

详解.Net单元测试方法

来源:步遥情感网


1、测试异常

可以直接对方法进行异常测试,也可以对模拟对象进行异常测试,但是,对模拟对象进行异常测试,很少用,所以,这里就介绍对方法的异常测试。请看如下代码,当用户名为空的时候,抛出异常。

例如

 
public bool Valid(string userName, string passWord)
 
 {
 
 if (string.IsNullOrEmpty(userName)) throw new ArgumentNullException("userName is null");
 
 var isValid = userName == "admin" && passWord == "123456";
 
 Log.Write(userName);
 
 return isValid;
 
 }

测试代码如下

 
[Test]
 
 [ExpectedException(typeof(ArgumentNullException))]
 public void Vaild_Throw_Test()
 {
 MyLogin l = new MyLogin();
 l.Valid("", "123456");
 }

2、测试返回值

这里用到了一个LastCall的一个类,比较常用,一些辅助测试的功能,都在该类中。

测试代码如下

[Test]
public void Valid_Return()
{
 MockRepository mock = new MockRepository();
 var log = mock.DynamicMock<ILog>();
 using (mock.Record())
 {
 log.WriteLog("admin");
 LastCall.Return(0);
 }
 var returnValue = log.WriteLog("admin");
 Assert.AreEqual(returnValue, 0);
}   
显示全文