天天看点

VS2010(2012)中使用Unit Testing进行单元测试

使用VS 2012自带的Unit Testing工具进行单元测试是非常方便的。网上关于这方面的例子很多,这篇随笔只起个人学习笔记之用,所以脉络不会很清晰。

1、简单Demo:

    待测试类:

VS2010(2012)中使用Unit Testing进行单元测试
VS2010(2012)中使用Unit Testing进行单元测试

   测试代码:

VS2010(2012)中使用Unit Testing进行单元测试
VS2010(2012)中使用Unit Testing进行单元测试

2、测试准备和测试清理工作

    如果我想在所有TestMethod执行前进行一些准备工作怎么办?答案是使用ClassInitialize。

    如果我想在所有TestMethod执行完成后进行一些清理工作怎么办?答案是使用ClassCleanup。

    如果我想在每个TestMethod执行前进行一些准备工作怎么办?答案是使用TestInitialize。

    如果我想在每个TestMethod执行完成后进行一些清理工作怎么办?答案是使用TestCleanup。

    如下:

VS2010(2012)中使用Unit Testing进行单元测试
VS2010(2012)中使用Unit Testing进行单元测试

3、[ExpectedException]

    Unit Testing中的attribute除了最基本的TestClass、TestMethod以外,还有一些非常用但是可能有用的attribute。

    [ExpectedException(exceptionType: Type]可以用来表明某个测试方法预期抛出某个异常,并且只有真的抛出异常时才通过测试。比如下面:

4、断言API

    Assert类的静态方法如下,其中常用的包括AreEqual、AreNotEqual、AreSame、IsNull、IsTrue、Inconclusive和Fail

VS2010(2012)中使用Unit Testing进行单元测试

   针对集合类型的断言方法:

VS2010(2012)中使用Unit Testing进行单元测试

   针对字符串类型的断言方法:

VS2010(2012)中使用Unit Testing进行单元测试

5、针对ASP.NET的单元测试

    这里推荐网上的一个系列博客,

6、Visual Studio 2012 Fakes框架

7、其他资源(MSDN)

继续阅读