Nunit 测试可以被任意支持attributes的.net语言使用

  1. Attributes被用于去标识测试类和测试方法,然后通过不同的方式修改他们的行为
  2. Assertions针对一个或多个约束,测试一个实际值,然后断定为一个成功或失败的测试结果
  3. Test Context 写测试代码的时候,有时候需要测试上下文的一些信息

Attributes:

  1. Action
  2. Category
  3. Combinatorial
  4. Culture
  5. DatapointAttribute / DatapointsAttribute
  6. Description
  7. ExpectedException
  8. Explicit
  9. Ignore
  10. Maxtime
  11. Pairwise
  12. Platform
  13. Property
  14. Random
  15. Range
  16. Repeat
  17. RequiredAddin
  18. RequiresMTA
  19. RequiresSTA
  20. RequiresThread
  21. Sequential
  22. SetCulture
  23. SetUICulture
  24. SetUp
  25. SetUpFixture
  26. Suite
  27. TearDown
  28. Test
  29. TestCase
  30. TestCaseSource
  31. TestFixture
  32. TestFixtureSetUp
  33. TestFixtureTearDown
  34. Theory
  35. Timeout
  36. Values
  37. ValueSource

Assertions

NUnit 2.4以前,Assert 类的一个单独的方法被用于每个不同的断言,我们把这种方式叫作:Classic Model,相当于每类断言,一个方法,

Assert.AreEqual( int expected, int actual );
Assert.AreEqual( int expected, int actual, string message );
Assert.AreEqual( int expected, int actual, string message, params object[] parms );Assert.AreEqual( uint expected, uint actual );
Assert.AreEqual( uint expected, uint actual, string message );
Assert.AreEqual( uint expected, uint actual, string message, params object[] parms );Assert.AreEqual( decimal expected, decimal actual );
Assert.AreEqual( decimal expected, decimal actual, string message );
Assert.AreEqual( decimal expected, decimal actual, string message, params object[] parms );Assert.AreEqual( float expected, float actual, float tolerance );
Assert.AreEqual( float expected, float actual, float tolerance,string message );
Assert.AreEqual( float expected, float actual, float tolerance,string message, params object[] parms );Assert.AreEqual( double expected, double actual, double tolerance );
Assert.AreEqual( double expected, double actual, double tolerance,string message );
Assert.AreEqual( double expected, double actual, double tolerance,string message, params object[] parms );Assert.AreEqual( object expected, object actual );
Assert.AreEqual( object expected, object actual, string message );
Assert.AreEqual( object expected, object actual, string message, params object[] parms );Assert.AreNotEqual( int expected, int actual );
Assert.AreNotEqual( int expected, int actual, string message );
Assert.AreNotEqual( int expected, int actual, string message,params object[] parms );Assert.AreNotEqual( long expected, long actual );
Assert.AreNotEqual( long expected, long actual, string message );
Assert.AreNotEqual( long expected, long actual, string message,params object[] parms );Assert.AreNotEqual( uint expected, uint actual );
Assert.AreNotEqual( uint expected, uint actual, string message );
Assert.AreNotEqual( uint expected, uint actual, string message,params object[] parms );Assert.AreNotEqual( ulong expected, ulong actual );
Assert.AreNotEqual( ulong expected, ulong actual, string message );
Assert.AreNotEqual( ulong expected, ulong actual, string message,params object[] parms );Assert.AreNotEqual( decimal expected, decimal actual );
Assert.AreNotEqual( decimal expected, decimal actual, string message );
Assert.AreNotEqual( decimal expected, decimal actual, string message,params object[] parms );Assert.AreNotEqual( float expected, float actual );
Assert.AreNotEqual( float expected, float actual, string message );
Assert.AreNotEqual( float expected, float actual, string message,params object[] parms );Assert.AreNotEqual( double expected, double actual );
Assert.AreNotEqual( double expected, double actual, string message );
Assert.AreNotEqual( double expected, double actual, string message,params object[] parms );Assert.AreNotEqual( object expected, object actual );
Assert.AreNotEqual( object expected, object actual, string message );
Assert.AreNotEqual( object expected, object actual, string message,params object[] parms );

从NUnit 2.4开始,一个新的constraint-based model被引进,这种通过传递一个约束对象给要执行的测试方法的方式用Assert类的单个方法为所有逻辑断言

Assert.That( object actual, IResolveConstraint constraint )
Assert.That( object actual, IResolveConstraint constraint,     string message )
Assert.That( object actual, IResolveConstraint constraint,   string message, object[] parms )
Assert.That( ActualValueDelegate del, IResolveConstraint constraint )
Assert.That( ActualValueDelegate del, IResolveConstraint constraint, string message )
Assert.That( ActualValueDelegate del, IResolveConstraint constraint, string message, object[] parms )
Assert.That( ref T actual, IResolveConstraint constraint )
Assert.That( ref T actual, IResolveConstraint constraint,  string message )
Assert.That( ref T actual, IResolveConstraint constraint, string message, object[] parms )
Assert.That( bool condition );
Assert.That( bool condition, string message );
Assert.That( bool condition, string message, object[] parms );
Assert.That( TestDelegate del, IResolveConstraint constraint );

TestContext (NUnit 2.5.7 / 2.6)

每一个单元测试都运行在一个执行上下文中,这个执行上下文包含当前环境的一些信息以及测试本身的一些信息,我们可以通过TestContext 类来获取这样一些信息

转载于:https://www.cnblogs.com/LittleFeiHu/p/4545071.html

Nunit-Writing Tests相关推荐

  1. Effective C# 原则48:了解更多的工具和资源(译)

    Effective C# 原则48:了解更多的工具和资源   Item 48: Learn About Tools and Resources 对于C#以及.Net来说这是激动人心的时候.这些工具目前 ...

  2. 《Pragmatic unit testing:in java with Junit》阅读

    SQ3R阅读法: Survey:阅读之前的浏览,查阅   1.书名:<Pragmatic unit testing:in java with Junit>,中文译名<单元测试之道Ja ...

  3. Pytest - 使用介绍

    1. 概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1.简单灵活,容易上手,文档丰富: 2.支持参数化,可以细粒度地控制要测试的测试用例: 3.能够支持简单的单 ...

  4. 在Relay中注册新TVM算子

    在Relay中注册新TVM算子 在本文件中,将介绍在Relay中注册新TVM算子所需的步骤.将以添加累积算子的PR为例.PR本身建立在另一个PR的基础上,该PR添加了一个累积和运算. 注册新算子需要几 ...

  5. react测试组件_测试驱动的开发,功能和React组件

    react测试组件 This article is part of my studies on how to build sustainable and consistent software. In ...

  6. c# 持续集成 单元测试_如何在不进行单元测试的情况下设置持续集成

    c# 持续集成 单元测试 Do you think continuous integration is not for you because you have no automated tests? ...

  7. 我希望支持JavaScript GraphQL实现的API

    The GraphQL schema language is great! It is certainly the best way to communicate anything about a G ...

  8. 初级java开发学习路线_成为初级全栈Web开发人员的10分钟路线图

    初级java开发学习路线 So you have started your journey into the world of web development. But what do you lea ...

  9. react 快速上手开发_React中测试驱动开发的快速指南

    react 快速上手开发 by Michał Baranowski 通过MichałBaranowski React中测试驱动开发的快速指南 (A quick guide to test-driven ...

  10. ruby on rails_我成为了Ruby on Rails和React的贡献者,你也可以

    ruby on rails I am really grateful to have contributed to a few open source projects, including two ...

最新文章

  1. java 静态实例_Java实例和静态方法
  2. json相关,浏览器打开json格式的api接口时,进行格式化,chrome插件
  3. Redis cluster集群模式的原理
  4. 如何使用SAP Analytics Cloud统计C4C系统每天新建的Lead个数和预测趋势
  5. Coverage analysis in ABAP in Eclipse
  6. filter过滤器实现验证跳转_返回验证结果
  7. Java解析JSON文件
  8. LUOGU P4016 负载平衡问题
  9. proteus里面没有stm32怎么办_使用C#编写STM32对接物联网平台IoTSharp发送遥测数据
  10. python基础面试题1
  11. 思科CEO钱伯斯的动荡一年:往事不堪回首
  12. sql 从一张表修改另一张表
  13. 【302】C# TreeView 控件使用说明
  14. c/c++成长之捷径
  15. Oracle 日期时间函数大全
  16. java计算机毕业设计网上书店商城源码+系统+数据库+lw文档+mybatis+运行部署
  17. 【转】HDMI视频分配器的功能及原理
  18. java 中 isb啥意思_isb官网-新版下载
  19. 二本学历,3年软件测试点点点,25K入职阿里巴巴
  20. php 睡眠,win10睡眠是什么意思

热门文章

  1. MySQL (一)(未完成)
  2. android用户界面之AlarmManager教程实例汇
  3. 【原创】大端和小端字节序的细节
  4. 【Linux】排序命令sort
  5. python中使用函数的目的是什么_Python代码中os.mknod()函数起什么作用呢?
  6. python socket send_全网最详细python中socket套接字send与sendall的区别
  7. python网络爬虫 爬取新闻标题、时间、内容
  8. ChaiNext:市场热情仍在,也需留意高位风险
  9. 点对点借贷dApp Yield宣布流动性激励迁移至SushiSwap
  10. SAP License:凭证冲销