服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - 详解.Net单元测试方法

详解.Net单元测试方法

2020-05-28 14:29whaxrl ASP.NET教程

本篇文章给大家详细讲述了.NET单元测试的详细方法和步骤,有需要的朋友参考学习下。

1、测试异常

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

例如

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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;
 
  }

测试代码如下

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

2、测试返回值

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

测试代码如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
[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);
}  

原文链接:https://blog.csdn.net/whaxrl/article/details/32730383

延伸 · 阅读

精彩推荐