如何深入探讨.Net的单元测试技巧与策略?

2026-06-08 23:052阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计386个文字,预计阅读时间需要2分钟。

如何深入探讨.Net的单元测试技巧与策略?

1. 测试异常处理可以直接对方法进行异常测试,也可以对模拟对象进行异常测试。尽管对模拟对象进行异常测试用例较少,但这里介绍方法异常测试。

以下代码展示了如何进行方法异常测试:

pythondef test_divide_by_zero(): try: result=1 / 0 except ZeroDivisionError: assert result is None else: assert False, Expected a ZeroDivisionError to be raised

用户当用户可以参考以上代码进行方法异常测试。

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); }  

如何深入探讨.Net的单元测试技巧与策略?

本文共计386个文字,预计阅读时间需要2分钟。

如何深入探讨.Net的单元测试技巧与策略?

1. 测试异常处理可以直接对方法进行异常测试,也可以对模拟对象进行异常测试。尽管对模拟对象进行异常测试用例较少,但这里介绍方法异常测试。

以下代码展示了如何进行方法异常测试:

pythondef test_divide_by_zero(): try: result=1 / 0 except ZeroDivisionError: assert result is None else: assert False, Expected a ZeroDivisionError to be raised

用户当用户可以参考以上代码进行方法异常测试。

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); }  

如何深入探讨.Net的单元测试技巧与策略?