当前位置:Gxlcms > asp.net > 详解.Net单元测试方法

详解.Net单元测试方法

时间:2021-07-01 10:21:17 帮助过:40人阅读

1、测试异常

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

例如

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

测试代码如下

  1. [Test]
  2. [ExpectedException(typeof(ArgumentNullException))]
  3. public void Vaild_Throw_Test()
  4. {
  5. MyLogin l = new MyLogin();
  6. l.Valid("", "123456");
  7. }

2、测试返回值

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

测试代码如下

  1. [Test]
  2. public void Valid_Return()
  3. {
  4. MockRepository mock = new MockRepository();
  5. var log = mock.DynamicMock<ILog>();
  6. using (mock.Record())
  7. {
  8. log.WriteLog("admin");
  9. LastCall.Return(0);
  10. }
  11. var returnValue = log.WriteLog("admin");
  12. Assert.AreEqual(returnValue, 0);
  13. }  

人气教程排行