单元测试工具之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插件程序两种使用方式.能够快速构建项目和组 ...
随机推荐
- php文件上传大小限制的修改方法大全
php文件上传大小限制的修改方法大全 基本就是修改maxsize选项,当然为了提高上传文件的成功率,还需要设置超时时间等. 文章如下: [php文件上传]php文件上传大小限制修改,phpmyadmi ...
- java程序练习:猜字母
猜字母程序=数据结构+算法 首先:定义数据结构1.找名词Input:输入变量Output:输出变量隐含:找到隐含的变量,如字符串 其次:定义算法,程序的处理 最后:按照顺序,逐步实现 注意:1.基本数 ...
- java中线程池的使用方法
1 引入线程池的原因 由于线程的生命周期中包括创建.就绪.运行.阻塞.销毁阶段,当我们待处理的任务数目较小时,我们可以自己创建几个线程来处理相应的任务,但当有大量的任务时,由于创建.销毁线程需要很大的 ...
- c_str 以及atoi
const char *c_str();c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类 ...
- source code analyzer 功能强大的C/C++源代码分析软件 Celerity CRACK 破解版
特色 迅捷是一个功能强大的C/C++源代码分析软件.可以处理数百万行的源程序代码.支持标准及K&R风格的C/C++.对每一个打开的源代码工程,通过建立一个包含丰富交叉引用关系的数据库,显示其所 ...
- android 多个listView的向下滚动设置 listView动态设置高度代码
墨迹天气图: 这里都是用的android里面的shape实现的,实现起来比较简单,只是在滚动的时候有点小麻烦... 当我们多个ListView超出了它的父控件LinearLayout的时候,它们每个L ...
- ssh远程执行命令并自动退出(已测试通过)
转自:http://blog.csdn.net/fdipzone/article/details/23000201 ssh命令格式如下: usage: ssh [-1246AaCfgKkMNnqsTt ...
- spring IOC容器实例化Bean的方式与RequestContextListener应用
spring IOC容器实例化Bean的方式有: singleton 在spring IOC容器中仅存在一个Bean实例,Bean以单实例的方式存在. prototype 每次从容器中调用Bean时, ...
- C++重载输入和输出操作符以及IO标准库中的刷新输入缓冲区残留字符问题
今天在做C++ Primer习题的14.11时,印象中应该挺简单的一题,结果却费了很长时间. 类定义: typedef string Date; class CheckoutRecord{ publi ...
- 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...