.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 ...
随机推荐
- setOff与scrollTop区别
1.offsetTop : 当前对象到其上级层顶部的距离. 不能对其进行赋值.设置对象到页面顶部的距离请用style.top属性. 2.offsetLeft : 当前对象到其上级层左边的 ...
- POJ 2443 Set Operation 题解
本文同时发布于 博客园 洛谷博客 题目链接 题目分析 给你n个集合,每个集合里面都有可能会重复的数字 q个询问,每次询问两个数是否会在同一集合内 $n<=1000$ $q<=200000$ ...
- 基于视频压缩的实时监控系统-sprint3采集端传输子系统设计
由于jpg本来就是编码压缩后的格式,所有无需重复编码 传输子系统步骤:(1)初始化:a.socket(初始化tcp连接):b.将事件添加到epoll中 (2)事件处理:接收到网络包.发送完网络包 st ...
- JAVA的基本程序设计结构(下)
字符串 Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,叫做 String. String e=""; //an empty String String ...
- CI4框架应用三 - app目录
我们再来看一下项目的app目录结构,这个目录就是我们开发的主目录,项目的配置,代码的编写都在这个目录中. Administrator@PC- MINGW64 /c/wamp64/www/ci4/app ...
- NMS系列
NMS soft NMS softer NMS https://www.cnblogs.com/VincentLee/p/12579756.html
- JDBC的开发步骤
一.JDBC概述 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问, 它由一组用Jav ...
- Win10系统Jmeter+maven+Jenkins接口自动化环境搭建(一)
Jmeter+maven+Jenkins实现接口自动化,需要使用idea或eclipse配置maven项目,这里我使用的是idea.具体步骤如下: 1.安装jmeter+jdk jmeter安装之前需 ...
- CSS 定位总结
目录 元素显示模式 元素模式 元素显示模式转换 CSS定位机制 静态定位static 相对定位relative 绝对定位absolute 固定定位fixed 粘性定位sticky 定位小结一图流 CS ...
- 2020-06-21:ZK的哪些基础能力构建出了哪些上层应用?
福哥答案2020-06-21: 福哥口诀法:数负命Ma集配分(使用场景:数据发布订阅.负载均衡.命名服务.Master 选举.集群管理.配置管理.分布式队列和分布式锁) 数据发布订阅:dubbo的rp ...