.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 ...
随机推荐
- 2019 7 8 HL 模拟赛
今天 很不爽 昨天晚上没有睡好觉 大约2点才睡着吧 反正翻来覆去睡不着 不知道为什么可能可行流 或者可行费用流并没有深刻理解 .我不会写 让我心情非常的焦躁. 大凶 顺理成章的被3位强者吊着锤(妈呀我 ...
- setOff与scrollTop区别
1.offsetTop : 当前对象到其上级层顶部的距离. 不能对其进行赋值.设置对象到页面顶部的距离请用style.top属性. 2.offsetLeft : 当前对象到其上级层左边的 ...
- adb如何连接Mac版腾讯手游助手
Mac版腾讯手游助手,的端口是6555: 所以使用adb connect 127.0.0.1:6555 进行连接
- Flask官方文档学习-flask快速入门
环境搭建 下载安装Python3:www.python.org 终端运行命令:python3 -m venv flask_dev,来创建虚拟环境 启用虚拟环境,终端使用命令 source /flask ...
- 029_go语言中的非阻塞通道
代码演示 package main import "fmt" func main() { messages := make(chan string) signals := make ...
- Java语言程序设计2019.9.16
1.Java的基本运行单位是类. 2.类是由方法和变量组成. 3.变量类型分为byte,int,double,long,short,boolean,char,float.java中整数类型默认的int ...
- 蓝奏云数值验证码识别,python调用虹鱼图灵识别插件,超高正确率
识别验证码一直是本人想要做的事情,一直在接触按键精灵,了解到有一个虹鱼图灵识别插件专门做验证码和图像识别,原理就是图片处理和制作字库识别,制作字库我一直觉得很麻烦,工程量太大.不管怎样,它能用能达到我 ...
- 使用QT实现一个简单的登陆对话框(纯代码实现C++)
使用QT实现一个简单的登陆对话框(纯代码实现C++) 效果展示 使用的QT控件 控件 描述 QLable 标签 QLineEdit 行文本框 QPushButton 按扭 QHBoxLayout 水平 ...
- jQuery 购物车案例
h1 { text-align: center; } .cart { width: 1200px; height: 600px; margin: 0 auto; border: 1px solid # ...
- 利用遗传算法求解TSP问题
转载地址 https://blog.csdn.net/greedystar/article/details/80343841 目录 一.问题描述 二.算法描述 三.求解说明 四.参考资料 五.源代码 ...