MSTest、NUnit、xUnit.net 属性和断言对照表
MSTest、NUnit、xUnit.net 属性对照表
| MSTest | NUnit | xUnit.net | Comments |
| [TestMethod] | [Test] | [Fact] |
Marks a test method. |
| [TestClass] | [TestFixture] | n/a |
xUnit.net does not require an attribute for a test class; it looks for all test methods in all public (exported) classes in the assembly. |
| [ExpectedException] | [ExpectedException] |
Assert.Throws Record.Exception |
xUnit.net has done away with the ExpectedException attribute in favor of Assert.Throws. |
| [TestInitialize] | [SetUp] | Constructor |
We believe that use of [SetUp]is generally bad. However, you can implement a parameterless constructor as a direct replacement. |
| [TestCleanup] | [TearDown] | IDisposable.Dispose |
We believe that use of[TearDown] is generally bad. However, you can implementIDisposable.Dispose as a direct replacement. |
| [ClassInitialize] | [TestFixtureSetUp] | IUseFixture<T> |
To get per-fixture setup, implement IUseFixture<T> on your test class. |
| [ClassCleanup] | [TestFixtureTearDown] | IUseFixture<T> |
To get per-fixture teardown, implement IUseFixture<T> on your test class. |
| [Ignore] | [Ignore] | [Fact(Skip="reason")] |
Set the Skip parameter on the[Fact] attribute to temporarily skip a test. |
| [Timeout] | [Timeout] | [Fact(Timeout=n)] |
Set the Timeout parameter on the [Fact] attribute to cause a test to fail if it takes too long to run. Note that the timeout value for xUnit.net is in milliseconds. |
| [TestCategory] |
[Category] |
[Trait] | |
| [TestProperty] | [Property] | [Trait] |
Set arbitrary metadata on a test |
| [DataSource] | n/a | [Theory], [XxxData] |
Theory (data-driven test). |
MSTest、NUnit、xUnit.net 断言对照表
| MSTest | NUnit | xUnit.net | Comments |
| AreEqual | AreEqual | Equal |
MSTest and xUnit.net support generic versions of this method |
| AreNotEqual | AreNotEqual | NotEqual |
MSTest and xUnit.net support generic versions of this method |
| AreNotSame | AreNotSame |
NotSame |
|
| AreSame | AreSame |
Same |
|
|
Contains (on CollectionAssert) |
Contains |
Contains |
|
| n/a | DoAssert |
n/a |
|
|
DoesNotContain (on CollectionAssert) |
n/a |
DoesNotContain |
|
| n/a | n/a | DoesNotThrow |
Ensures that the code does not throw any exceptions |
| Fail | Fail | n/a |
xUnit.net alternative: Assert.True(false, "message") |
| n/a | Pass | n/a | |
| n/a | Greater | n/a |
xUnit.net alternative: Assert.True(x > y) |
| n/a |
GreaterOrEqual |
n/a | |
| Inconclusive | Ignore |
n/a |
|
| n/a | n/a | InRange |
Ensures that a value is in a given inclusive range (note: NUnit and MSTest have limited support for InRange on their AreEqual methods) |
| n/a | IsAssignableFrom |
IsAssignableFrom |
|
| n/a | IsEmpty |
Empty |
|
| IsFalse | IsFalse |
False |
|
| IsInstanceOfType | IsInstanceOfType |
IsType |
|
| n/a | IsNaN | n/a |
xUnit.net alternative: Assert.True(double.IsNaN(x)) |
| n/a | IsNotAssignableFrom | n/a |
xUnit.net alternative: Assert.False(obj is Type); |
| n/a | IsNotEmpty |
NotEmpty |
|
| IsNotInstanceOfType | IsNotInstanceOfType |
IsNotType |
|
| IsNotNull | IsNotNull |
NotNull |
|
| IsNull | IsNull |
Null |
|
| IsTrue | IsTrue |
True |
|
| n/a | Less | n/a |
xUnit.net alternative: Assert.True(x < y) |
| n/a |
LessOrEqual |
n/a | |
| n/a | n/a |
NotInRange |
Ensures that a value is not in a given inclusive range |
| n/a | Throws | Throws |
Ensures that the code throws an exact exception |
| n/a |
IsAssignableFrom |
n/a | |
| n/a | IsNotAssignableFrom |
n/a |
参考资料
- Using Traits with different test frameworks in the Unit Test Explorer
- Testing Framework Comparision with xUnit.net
MSTest、NUnit、xUnit.net 属性和断言对照表的更多相关文章
- MSTest/NUnit 单元测试 代码覆盖率试用 OpenCover 和ReportGenerator
VS自带是单元测试代码覆盖率(VS自带这个是最佳选择)需要企业版才有.很蛋疼...... 1.下载安装OpenCover 和ReportGenerator. 关于这2个是干啥的百度下.简单说就是可以分 ...
- Jenkins结合.net平台工具之Nunit
有时候我们需要对从git上拉取的项目进行单元测通过以后才可以发布到测试环境,.net平台下单元测试的框架也很多例如mstest,nunit,xunit等,下面以Nunit为例讲解如何通过Jenkins ...
- ASP.NET Core开发者成长路线图
目录 ASP.NET Core开发者路线图RoadMap 免责声明 请给一个星星! ⭐ 路线图 资源 总结 贡献 许可协议 ASP.NET Core开发者路线图RoadMap 来源: MoienTaj ...
- ASP.NET Core开发者指南
ASP.NET Core开发者指南 2019年ASP.NET Core开发者指南: 你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者.“ ...
- 2019年ASP.NET Core学习路线
- [先决条件] + C# + Entity Framework + ASP.NET Core + SQL 基础知识 - [通用开发技能] + 学习 GIT, 在 GitHub 中创建开源项目 + 掌 ...
- ASP.NET Core开发者指南(转发)
ASP.NET Core开发者指南 2019年ASP.NET Core开发者指南: 你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者.& ...
- Unit Testing with NSubstitute
These are the contents of my training session about unit testing, and also have some introductions a ...
- .NET Core Ecosystem
.NET .NET Blog Application Models Web Mobile Desktop Microservices Gaming Machine Learning Cloud Int ...
- Nunit与Xunit介绍
Nunit安装 首先说下,nunit2.X与3.X版本需要安装不同的vs扩展. nunit2.x安装 安装如上3个,辅助创建nunit测试项目与在vs中运行单元测试用例 . 1.Nunit2 Test ...
随机推荐
- TListView Header重绘和高度设置
TListView 的 Header 部分默认 BtnFace 颜色,高度也不能改变.我们可以通过编写一些代码来实现这些功能: 获得TListView 的Header 的句柄: TListView的H ...
- android开发 如何调用SO
java package com.example.callsodemo; import android.R.integer; import android.R.string; import andro ...
- 未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序解决方案
未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序解决方案 一.现象: C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库.但程序执行时报 ...
- SQL Server 查询处理中的各个阶段(SQL执行顺序)
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后 ...
- [2015hdu多校联赛补题]hdu5299 Circles Game
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5299 题意: 在欧几里得平面上有n个圆,圆之间不会相交也不会相切,现在Alice和Bob玩游戏,两人轮 ...
- IOS-Appium 自动化测试——环境配置及模拟器、真机跑测试
在MAC环境下配置IOS的appium的自动化测试环境,主要包含三个部分: 一.环境配置 1.安装homebrew(homebrew可以提供MAC OS无法提供的很多套件) ruby -e " ...
- oracle常用操作指令
1.cmd sqlplus /nolog; 2.conn sys/ as sysdba; 3.create user query identified by query;//创建用户 4.al ...
- html里文本编辑器如何制作呢?
初入it职场,文本编辑器真的让人捉摸不透.最终在前端姐姐帮助下弄好了↓ 先在头部写好编辑器的各种功能的总体模型 <script>var editor; KindEditor.ready(f ...
- html特殊字符转义问题(转!)
html.javascript.url特殊字符转义在实际编程中都是有用到的,有的人对特殊字符转义的使用不是很清楚,下面就对html,javascript,url特殊字符的转义做一下说明和归纳. htm ...
- Spring +SpringMVC 实现文件上传功能。。。
要实现Spring +SpringMVC 实现文件上传功能. 第一步:下载 第二步: 新建一个web项目导入Spring 和SpringMVC的jar包(在MyEclipse里有自动生成spring ...