zoukankan      html  css  js  c++  java
  • Nunit 学习

      看了下NUnit,大概了解了点皮毛,为了使印象更深点,所以写了这篇文章来记录一下。

      NUnit使一个免费开源的单元测试框架,专门针对于.Net来写的产品。(http://www.nunit.org)

      其实在之前有Junit(java),CPPUnit(C++),他们都是xUnit的一员。最初,它是从JUnit而来,现在的版本是2.5.2.接下来我所用的都是基于这个版本.

      NUnit最初是由James W. Newkirk, Alexei A. Vorontsov 和Philip A. Craig,后来开发团队逐渐庞大起来.在开发过程中, Kent Beck 和ErichGamma2位牛人也提供了许多帮助.看来对于NUnit还真是下了一番力气了 。

      NUnit是xUnit家族种的第4个主打产品,完全由C#语言来编写,并且编写时充分利用了许多.NET的特性,比如反射,客户属性等等.

      最重要的一点是它适合于所有.NET语言.

    1. 简单示例

      1).新建项目

      2).添加对 nunit.framework.dll 的引用。

      3).创建一个类 NumberOperate.cs

      

      4).创建一个测试类 TestNUnit.cs

      

      5).直接运行nunit.exe

      

        ( 当然这里也可以项目右键-->调试

      )。

     2.一些常用的属性:

      1) [TestFixture]写在测试类的前面,这样NUnit才会加载这个类

      2) [Test] 写在方法的前面,这样NUnit的run会执行测试方法。

      3) [ExpectedException(typeof(DivideByZeroException))]写在方法的前面,[Test]的后面。测试是否有相应错误的抛出,当出现被除数为0的时候,NUnit测试条会显示绿色,而不会显示错误的红色。typeof(DivideByZeroException)里面的错误类型是可以自行选择定义的。

      4) [SetUp] 写在方法的前面,表示每个case执行的时候都调用,用来测试前的初始化工作。

      5) [TearDown]销毁,资源回收,好比编程的时候,建立数据库连接,用完了还要关闭连接.该标记后面的方法会在各个case执行完毕后执行.

      6) [TestfixtureSetUp]和[SetUp]不同的是,只在Test类开始的时候执行一次,不是在每个case都执行一次.

      7) [TestfixtureTearDown]和[TearDown]不同的是,不是在每个case的后面都执行,而是在整个Test类执行最后才执行一次.

      8) [Ignore]忽略,加在方法的前面,则该case在NUnit 执行的时候,会被忽略,进度条显示黄色.对应参数:[Ignore("这里写下你想在NUnit忽略该case的时候想要说明的忽略原因,字符串类型")],该case即使在NUnit界面选定也不能执行.

      9) [Test,Explicit]显示的执行.该用法会让对应的case在NUnit执行的时候跳过,但是和[Ignore]不同的是,该case在NUnit界面选定后可以被执行,不被选定的时候不会执行.

      10) [Category("组名称")]对应的方法会被编组为"组名称",在NUnit左边的标签Categories里会显示组名,点击add按钮会讲选择的组推到下面的框体里,这个时候按Run按钮会执行下面栏里的组,如果点选了那个Excluded ....按钮,则,在下面栏的组在NUnit执行的时候不会被执行.其实看字都能明白了,上面的栏是Available的组,既存在的组,下面的栏是选择的组.简单的说,被选定的组,既在下面栏的组是要被执行的,而不在这里面的组是显式执行,既鼠标点选该case的时候才会执行.

  • 相关阅读:
    MongoDB
    Redis:C#使用Redis
    最大化 AIX 上的 Java 性能,第 4 部分: 监视流量
    最大化 AIX 上的 Java 性能,第 3 部分: 更多就是更好
    最大化 AIX 上的 Java 性能,第 2 部分: 速度需求
    最大化 AIX 上的 Java 性能,第 1 部分: 基础
    阿里面试重点总结
    函数库学习入门指引
    OracleAWR删除历史快照说明
    ActiveMQ实现负载均衡+高可用部署方案(转)
  • 原文地址:https://www.cnblogs.com/bs5168/p/2192101.html
Copyright © 2011-2022 走看看