Nunit-Writing Tests
Nunit 测试可以被任意支持attributes的.net语言使用
- Attributes被用于去标识测试类和测试方法,然后通过不同的方式修改他们的行为
- Assertions针对一个或多个约束,测试一个实际值,然后断定为一个成功或失败的测试结果
- Test Context 写测试代码的时候,有时候需要测试上下文的一些信息
Attributes:
- Action
- Category
- Combinatorial
- Culture
- DatapointAttribute / DatapointsAttribute
- Description
- ExpectedException
- Explicit
- Ignore
- Maxtime
- Pairwise
- Platform
- Property
- Random
- Range
- Repeat
- RequiredAddin
- RequiresMTA
- RequiresSTA
- RequiresThread
- Sequential
- SetCulture
- SetUICulture
- SetUp
- SetUpFixture
- Suite
- TearDown
- Test
- TestCase
- TestCaseSource
- TestFixture
- TestFixtureSetUp
- TestFixtureTearDown
- Theory
- Timeout
- Values
- 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相关推荐
- Effective C# 原则48:了解更多的工具和资源(译)
Effective C# 原则48:了解更多的工具和资源 Item 48: Learn About Tools and Resources 对于C#以及.Net来说这是激动人心的时候.这些工具目前 ...
- 《Pragmatic unit testing:in java with Junit》阅读
SQ3R阅读法: Survey:阅读之前的浏览,查阅 1.书名:<Pragmatic unit testing:in java with Junit>,中文译名<单元测试之道Ja ...
- Pytest - 使用介绍
1. 概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1.简单灵活,容易上手,文档丰富: 2.支持参数化,可以细粒度地控制要测试的测试用例: 3.能够支持简单的单 ...
- 在Relay中注册新TVM算子
在Relay中注册新TVM算子 在本文件中,将介绍在Relay中注册新TVM算子所需的步骤.将以添加累积算子的PR为例.PR本身建立在另一个PR的基础上,该PR添加了一个累积和运算. 注册新算子需要几 ...
- react测试组件_测试驱动的开发,功能和React组件
react测试组件 This article is part of my studies on how to build sustainable and consistent software. In ...
- c# 持续集成 单元测试_如何在不进行单元测试的情况下设置持续集成
c# 持续集成 单元测试 Do you think continuous integration is not for you because you have no automated tests? ...
- 我希望支持JavaScript GraphQL实现的API
The GraphQL schema language is great! It is certainly the best way to communicate anything about a G ...
- 初级java开发学习路线_成为初级全栈Web开发人员的10分钟路线图
初级java开发学习路线 So you have started your journey into the world of web development. But what do you lea ...
- react 快速上手开发_React中测试驱动开发的快速指南
react 快速上手开发 by Michał Baranowski 通过MichałBaranowski React中测试驱动开发的快速指南 (A quick guide to test-driven ...
- 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 ...
最新文章
- java 静态实例_Java实例和静态方法
- json相关,浏览器打开json格式的api接口时,进行格式化,chrome插件
- Redis cluster集群模式的原理
- 如何使用SAP Analytics Cloud统计C4C系统每天新建的Lead个数和预测趋势
- Coverage analysis in ABAP in Eclipse
- filter过滤器实现验证跳转_返回验证结果
- Java解析JSON文件
- LUOGU P4016 负载平衡问题
- proteus里面没有stm32怎么办_使用C#编写STM32对接物联网平台IoTSharp发送遥测数据
- python基础面试题1
- 思科CEO钱伯斯的动荡一年:往事不堪回首
- sql 从一张表修改另一张表
- 【302】C# TreeView 控件使用说明
- c/c++成长之捷径
- Oracle 日期时间函数大全
- java计算机毕业设计网上书店商城源码+系统+数据库+lw文档+mybatis+运行部署
- 【转】HDMI视频分配器的功能及原理
- java 中 isb啥意思_isb官网-新版下载
- 二本学历,3年软件测试点点点,25K入职阿里巴巴
- php 睡眠,win10睡眠是什么意思
热门文章
- MySQL (一)(未完成)
- android用户界面之AlarmManager教程实例汇
- 【原创】大端和小端字节序的细节
- 【Linux】排序命令sort
- python中使用函数的目的是什么_Python代码中os.mknod()函数起什么作用呢?
- python socket send_全网最详细python中socket套接字send与sendall的区别
- python网络爬虫 爬取新闻标题、时间、内容
- ChaiNext:市场热情仍在,也需留意高位风险
- 点对点借贷dApp Yield宣布流动性激励迁移至SushiSwap
- SAP License:凭证冲销