.Net 单元测试框架xUnit使用
使用前需要导入下面的NuGet包:(不然可能会导致测试代码无法运行)


.net版本 .net core3.1
Moq这个包只有需要Mock的时候才需要导入(不清楚Mock的话可以留言或自行百度)
开始使用
首先先看一个栗子让你能够快速入门
但是如果一点单元测试基础都没有的话建议去百度补一下
[Fact]
public void Test()
{
int i = , j = ;
//判断两个数值是否相等
Assert.Equal(i, j);//成功
//Assert.NotEqual(); //判断两个数值是否不相等 var list = new List<string>();
//判断集合是否为空
Assert.Empty(list);//成功
//Assert.NotEmpty(); //判断集合是否不为空 var str1 = "i love u";
var str2 = "i";
//判断str2是否在str1中
Assert.Contains(str2, str1);
//Assert.DoesNotContain(str2, str1);//判断str2是否不在
str1中 string str = null;
//判断对象是否为Null
Assert.Null(str);
//Assert.Null(str);//判断对象是否不为Null
}
如果需要深入了解一下课往下看
xUnit的常用Attribute标记
|
xUnit |
备注 |
|
[Fact] |
标记为测试方法 |
|
Assert.Throws/ Record.Exception |
期望抛出异常 |
|
Constructor(即构造函数) |
在每个测试方法执行之前用于初始化的方法 |
|
IDisposable.Dispose |
在每个测试方法执行之后用于结束的方法 |
|
IUseFixture<T> |
在所有测试方法执行之前用于初始化的方法 |
|
IUseFixture<T> |
在所有测试方法执行之后用于结束的方法 |
|
[Fact(Skip="跳过原因")] |
忽略被标记的方法 |
|
[Fact(Timeout=n)] |
用于指定被测试方法的最大执行时间(单位毫秒),如果超过指定时间则会被标记为测试失败 |
xUnit.Net的断言(Assertions)
|
xUnit.net |
备注 |
|
Equal |
相等比较 |
|
NotEqual |
不相等比较 |
|
NotSame |
不相同比较 |
|
Same |
相同比较 |
|
Contains |
包含 |
|
DoesNotContain |
不包含 |
|
DoesNotThrow |
|
|
InRange |
|
|
IsAssignableFrom |
|
|
Empty |
|
|
False |
|
|
IsType |
|
|
NotEmpty |
|
|
IsNotType |
|
|
NotNull |
|
|
Null |
|
|
True |
|
|
NotInRange |
确保数据在某个范围内 |
|
Throws |
确保会抛出异常 |
.Net 单元测试框架xUnit使用的更多相关文章
- C#常用单元测试框架比较:XUnit, NUnit, 和 Visual Studio(MSTest)
做过单元测试的同学大概都知道以上几种测试框架,但我一直很好奇它们到底有什么不同,然后搜到了一篇不错的文章清楚地解释了这几种框架的最大不同之处. 地址在这里:http://www.tuicool.com ...
- JavaScript单元测试框架JsUnit基本介绍和使用
JavaScript单元测试框架JsUnit基本介绍和使用 XUnit framework XUnit是一套标准化的独立于语言的概念和结构集合,用于编写和运行单元测试(Unit tests). 每一个 ...
- JavaScript单元测试框架-Jasmine
Jasmine的开发团队来自PivotalLabs,他们一开始开发的JavaScript测试框架是JsUnit,来源于著名的JAVA测试框架JUnit.JsUnit是xUnit的JavaScript实 ...
- Javascript单元测试框架比较Qunit VS Jasmine
Javascript单元测试框架比较Qunit VS Jasmine 工欲行其事必先利其器,好的单元测试框架是TDD成功的一半.Javascript优秀的测试框架很多, 包括Jasmine,Qunit ...
- C#常用的单元测试框架
C#常用的单元测试框架有XUnit .NUnit .MSTest 做过单元测试的同学大概都知道以上几种测试框架,这几种框架除了标注测试类和方法的特性用的不一样之外,XUnit 和 NUnit 是非常相 ...
- Python必会的单元测试框架 —— unittest
用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest. unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那 ...
- Java单元测试框架 JUnit
Java单元测试框架 JUnit JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于KentBeck的sUnit的xUnit家族中为最成功的一 ...
- [测试]单元测试框架NUnit
说到测试,相信大家都或多或少了解. 按照各自分类,就自己知道包括 A.单元测试.集成测试.系统测试 B.白盒测试.黑盒测试 C.压力测试.性能测试.安全测试 ...... 反正是太多太多.就做开发以来 ...
- 聊聊 Python 的单元测试框架(二):nose 和它的继任者 nose2
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
随机推荐
- BSOJ 5445 -- 【2018雅礼】树 prufer序列 dp
BSOJ在哪我也不知道 没有链接. 对于有标号无根树的统计和有度数限制 一般采用prufer序列. 根据prufer序列 容易知道 某个点的出现次数+1为当前点的度数. 对于这道题 考虑设f[i][j ...
- JDK8的Optional用法
参考资料:https://www.baeldung.com/java-optional https://mp.weixin.qq.com/s/P2kb4fswb4MHfb0Vut_kZg 1. 描述 ...
- NCoreCoder.Aop详解
于今天,功能终于完善度到比较满意的程度了 准备好好写一篇文章,而不是之前的流水账,分享一下最近这些天的踩坑 一开始AOP选的微软提供的DispatchProxy 关于这个,有大佬的文章,可以看看,了解 ...
- C++ Json工具--Jsoncpp用法简介
文章目录 Json简介 用法简介 数据类型 C++代码示例 代码执行输出结果 JSON在线解析及格式化验证 - JSON.cn Json简介 JSON(JavaScript Object Notati ...
- (转)交叉编译lrzsz
交叉编译lrzsz 2016-03-20 1. 系统环境: Distributor ID: Ubuntu Description: Ubuntu 14.04.1 LTS Release: ...
- 《RabbitMQ》如何保证消息的可靠性
一条消费成功被消费经历了生产者->MQ->消费者,因此在这三个步骤中都有可能造成消息丢失. 一 消息生产者没有把消息成功发送到MQ 1.1 事务机制 AMQP协议提供了事务机制,在投递消息 ...
- cmd批处理bat命令根据端口号一键关闭杀死对应进程程序
@ 目录 cmd批处理bat命令根据端口号一键关闭杀死对应进程程序 使用场景和功能介绍 主界面 下载地址 源代码 cmd批处理bat命令根据端口号一键关闭杀死对应进程程序 使用场景和功能介绍 java ...
- linux学习笔记之makefile
首先 make时工程管理器 而makefile则是make唯一的配置文件,当我们需要使用make管理工程时,我们需要建立一个makefile文件 简单点说,makefile是把我们所要编译的c文件结合 ...
- 我能想到的最浪漫的Java网络教程之Socket,三步到位!!!
简说 如果要使用Java中的TCP/IP通过网络连接到服务器,则需要创建一个java.net.Socket对象以连接到服务器.如果使用JavaNIO,则还可以在JavaNIO中创建SocketChan ...
- CSS 学习第一天
css的三种引入方式: 1.内嵌:直接在标签中添加style属性 格式:<标签名 style="样式1:样式值1:样式2:样式值2"> 2.内联:在head标签中添加& ...