单元测试工具之Xunit
NUnit 2.2
|
MSTest
|
xUnit.net
|
备注
|
[Test]
|
[TestMethod]
|
[Fact]
|
标记为测试方法
|
[TestFixture]
|
[TestClass]
|
n/a
|
包含有测试方法的类,在xUnit.net中无需标记,它会查找程序集中所有的public的测试方法
|
[ExpectedException]
|
[ExpectedException]
|
Assert.Throws/ Record.Exception
|
期望抛出异常
|
[SetUp]
|
[TestInitialize]
|
Constructor(即构造函数)
|
在每个测试方法执行之前用于初始化的方法
|
[TearDown]
|
[TestCleanup]
|
IDisposable.Dispose
|
在每个测试方法执行之后用于结束的方法
|
[TestFixtureSetUp]
|
[ClassInitialize]
|
IUseFixture<T>
|
在所有测试方法执行之前用于初始化的方法
|
[TestFixtureTearDown]
|
[ClassCleanup]
|
IUseFixture<T>
|
在所有测试方法执行之后用于结束的方法
|
[Ignore]
|
[Ignore]
|
[Fact(Skip="reason")]
|
临时忽略被标记的方法
|
n/a
|
[Timeout]
|
[Fact(Timeout=n)]
|
用于指定被测试方法的最大执行时间(单位毫秒),如果超过指定时间则会被标记为测试失败
|
[Property]
|
[TestProperty]
|
[Trait]
|
Set arbitrary metadata on a test
|
n/a
|
[DataSource]
|
[Theory], [XxxData]
|
NUnit 2.2
|
MSTest
|
xUnit.net
|
备注
|
AreEqual
|
AreEqual
|
Equal
|
相等比较
|
AreNotEqual
|
AreNotEqual
|
NotEqual
|
不相等比较
|
AreNotSame
|
AreNotSame
|
NotSame
|
不相同比较
|
AreSame
|
AreSame
|
Same
|
相同比较
|
Contains
|
Contains (on CollectionAssert)
|
Contains
|
|
DoAssert
|
n/a
|
n/a
|
|
n/a
|
DoesNotContain (on CollectionAssert)
|
DoesNotContain
|
|
n/a
|
n/a
|
DoesNotThrow
|
|
Fail
|
Fail
|
n/a
|
可用Assert.True(false, "message")替代
|
Greater
|
n/a
|
n/a
|
可用Assert.True(x > y)替代
|
Ignore
|
Inconclusive
|
n/a
|
|
n/a
|
n/a
|
InRange
|
|
IsAssignableFrom
|
n/a
|
IsAssignableFrom
|
|
IsEmpty
|
n/a
|
Empty
|
|
IsFalse
|
IsFalse
|
False
|
|
IsInstanceOfType
|
IsInstanceOfType
|
IsType
|
|
IsNaN
|
n/a
|
n/a
|
可用Assert.True(double.IsNaN(x))替代
|
IsNotAssignableFrom
|
n/a
|
n/a
|
可用Assert.False(obj is Type)替代
|
IsNotEmpty
|
n/a
|
NotEmpty
|
|
IsNotInstanceOfType
|
IsNotInstanceOfType
|
IsNotType
|
|
IsNotNull
|
IsNotNull
|
NotNull
|
|
IsNull
|
IsNull
|
Null
|
|
IsTrue
|
IsTrue
|
True
|
|
Less
|
n/a
|
n/a
|
可用Assert.True(x < y)替代
|
n/a
|
n/a
|
NotInRange
|
确保数据在某个范围内
|
n/a
|
n/a
|
Throws
|
确保会抛出异常
|
- <?xml version="1.0" encoding="utf-8"?>
- <xunit>
- <assemblies>
- <assembly filename="bin\Debug\XunitDemo.exe" config-filename="bin\Debug\XunitDemo.exe.config" shadow-copy="true"/>
- <assembly filename="bin\Debug\xunit.dll" shadow-copy="true" />
- </assemblies>
- </xunit>
- using System;
- using Xunit;
- using System.Configuration;
- namespace XunitDemo
- {
- public class XunitDemo:IDisposable
- {
- public XunitDemo()
- {
- //在这里可以做测试开始前的初始化工作
- System.Console.WriteLine("Init");
- }
- [Fact]
- public void TestAdd()
- {
- Assert.Equal<int>(5, 2 + 3);
- }
- [Fact(Timeout=900)]//指定超时为900ms
- public void TestTimeout()
- {
- System.Threading.Thread.Sleep(1000);
- Assert.InRange<double>(new Random().NextDouble()*10,5,10);
- }
- [Fact]
- public void Test0_51CTOBlog()
- {
- //不区分大小写等值判断
- Assert.Equal<bool>(true,string.Equals(ConfigurationManager.AppSettings["51ctoBlog"], "http://zhoufoxcn.blog.51cto.com",StringComparison.InvariantCultureIgnoreCase);
- }
- [Fact]
- public void Test0_CSDNBlog()
- {
- Assert.Equal<string>(ConfigurationManager.AppSettings["CSDNBlog"], "http://blog.csdn.net/zhoufoxcn");
- }
- [Fact]
- public void Test0_SinaWeiBo()
- {
- Assert.Equal<string>(ConfigurationManager.AppSettings["SinaWeiBo"], "http://weibo.com/zhoufoxcn");
- }
- public void Dispose()
- {
- //在这里可以做测试结束后的收尾工作
- System.Console.WriteLine("Dispose");
- }
- }
- }
单元测试工具之Xunit的更多相关文章
- 在.NET开发中的单元测试工具之(2)——xUnit.Net
在上一篇<在.NET开发中的单元测试工具之(1)——NUnit>中讲述了如何使用NUnit在.NET开发中进行单元测试以及NUnit的一些缺点,今天将讲述如何使用xUnit.Net来进行单 ...
- 在.NET开发中的单元测试工具之(1)——NUnit
NUnit介绍 NUnit是一个专门针对于.NET来写的单元测试框架,它是xUnit体系中的一员,在xUnit体系中还有针对Java的JUnit和针对C++的CPPUnit,在开始的时候NUnit和x ...
- 在.NET开发中的单元测试工具之——NUnit
NUnit介绍 NUnit是一个专门针对于.NET来写的单元测试框架,它是xUnit体系中的一员,在xUnit体系中还有针对Java的JUnit和针对C++的CPPUnit,在开始的时候NUnit和x ...
- 主流的单元测试工具之-JAVA新特性-Annotation 写作者:组长 梁伟龙
1:什么是Annotation?Annotation,即“@xxx”(如@Before,@After,@Test(timeout=xxx),@ignore),这个单词一般是翻译成元数据,是JAVA的一 ...
- codeblocks+Mingw 下配置开源c++单元测试工具 google test
google test 是google的c++开源单元测试工具,chrome的开发团队就是使用它. Code::Blocks 12.11(MinGW 4.7.1) (Windows版)Google T ...
- PHP单元测试工具PHPUnit初体验
今天接到了个任务,需要对数字进行计算,因为涉及到整数,小数,和科学计数法等很多条件,所以人工测试非常麻烦,于是想到了PHP的单元测试工具PHPUnit,所以写个文档备查. 看了PHPUnit的文档之后 ...
- Java单元测试工具:JUnit4(一)(二)(三)(四)
Java单元测试工具:JUnit4(一)--概述及简单例子 Java单元测试工具:JUnit4(二)--JUnit使用详解 Java单元测试工具:JUnit4(三)--JUnit详解之运行流程及常用注 ...
- 单元测试工具 SmokeTest
.NET 程序集单元测试工具 SmokeTest Smoke Test(冒烟测试),也称Regression Test(回归测试),是对软件的安装和基本功能的测试.一般地我们使用脚本来实现Smoke ...
- Web Service单元测试工具实例介绍之SoapUI
原文 Web Service单元测试工具实例介绍之SoapUI SoapUI是当前比较简单实用的开源Web Service测试工具,提供桌面应用程序和IDE插件程序两种使用方式.能够快速构建项目和组 ...
随机推荐
- 简单3d RPG游戏 之 005 选择敌人
选择一个敌人,按ctrl+d,复制出3个,调整一下它们的位置,不重叠,修改Tag为Enemy,禁用EnemyAI. 创建Targetting脚本,绑定到Player玩家对象 public class ...
- json2.js使用参考
json2.js的源码地址: https://github.com/douglascrockford/JSON-js Visual Studio用户可以直接通过Nuget来获得. json2.js提供 ...
- Discuz使用tools修复数据文件后,访问URL多出/source/plugin/tools,导致文章栏目无法访问
今天我的婚嫁亲子网数据库出了点错误,于是就用dz官方的tool工具修复了以下,然后就发生了这个错误.. 本来频道页面的地址是:http://www.ifen8.com/article/ 结果自动跳转成 ...
- VS2005 VS2008 Manifest 配置问题总结
一.问题 编译某个遗留工程后,运行程序时报错,“由于应用程序的配置不正确,应用程序无法启动.重新安装应用程序可能会解决这个问题.” 查看生成的Manifest文件如下: <?xml versio ...
- Android:Style和Theme
在Web开发中,Html负责内容,CSS负责表现.同样,在Android开发中,可以使用Theme.Style+UI组件的方式实现内容和形式的分离. Style是针对窗体元素级别的,改变指定控件或者L ...
- POJ3083——Children of the Candy Corn(DFS+BFS)
Children of the Candy Corn DescriptionThe cornfield maze is a popular Halloween treat. Visitors are ...
- Android 设定activity的进入和退出效果
看了android的源代码和资源文件,终于明白如何去修改设置Dialog和Activity的进入和退出效果了.设置Dialog首先通过 getWindow()方法获取它的窗口,然后通过getAttri ...
- tortoisesvn › prefer local prefer repository
tortoisesvn › prefer local prefer repository
- RabbitMQ安装和配置
RabbitMQ: MQ:message queue.MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来 ...
- ASP.NET多次点击提交按钮以及Session超时和丢失过期问题
1.ASP.NET防止多次点击提交按钮 对于一个按钮,要让变成恢色的,只要this.disabled=true就可以了,可是在.NET里,添加了OnClick事件后,就无法提交信息了.所以要加上以下代 ...