单元测试工具之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插件程序两种使用方式.能够快速构建项目和组 ...
随机推荐
- ng-blur失去焦点执行事件
<label class="item item-input item-stacked-label"> <span class="input-label& ...
- Jenkins任务启动的后台进程被自动kill
在Jenkins的使用中,遇到过的一个场景是:在web代码更改之后,能自动的部署到测试服务器,我们写了run.sh脚本来重启服务,在使用Jenkins的任务自动跑这个脚本后发现,服务没有起来.开始以为 ...
- Java 程序检查远程服务器状态
通常我们以命令的方式判断远程服务器是否正常运行有两种方式,ping 或 telnet 一个远程端口.假设我们要检查的远程服务器都是 Linux 系统. 从 JDK 1.5 以后, InetAddres ...
- 解决ubuntu中vi不能正常使用方向键与退格键的问题
方案一: 问题: ubuntu中vi在编辑状态下方向键不能用,还有回格键不能删除等我们平时习惯的一些键都不能使用. 解决办法: 可以安装vim full版本,在full版本下键盘正常,安装好后同样使用 ...
- php中对共享内存,消息队列的操作
http://www.cnblogs.com/fengwei/archive/2012/09/12/2682646.html php作为脚本程序,通常生命周期都很短,如在web应用中,一次请求就是ph ...
- vimrc for windows
set nobackupsource $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswin:color deser ...
- python string 连接test
def strTest(): name = "" for i in range(10): name += "hello" #print name def str ...
- *IntelliJ IDEA使用Hibernate连接数据库
在IntelliJ IDEA中配置MySQL Database.
- python脚本工具-1 制作爬虫下载网页图片
参考:http://www.cnblogs.com/fnng/p/3576154.html 本文参考虫师的博客“python实现简单爬虫功能”,整理分析后抓取其他站点的图片并下载保存在本地. 抓取图片 ...
- 编码识别工具:hash-identifier
hash-identifier的使用: 当不知道编码是什么类型的时候,可以通过kali系统中的hash工具判别,如下图所示, 在HASH后面输入要判别的编码内容,在后面的Possible Hashs中 ...