.Net 单元测试框架xUnit使用
2024-10-05 23:40:21
使用前需要导入下面的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 |
确保会抛出异常 |
最新文章
- php 对url 操作类:url拼接、get获取页面、post获取页面(带传参)
- Yii日志记录Logging
- 【转载】两个排序数组的中位数 / 第K大元素(Median of Two Sorted Arrays)
- 在win7电脑中如何查看运行进程的PID标识符
- jquery 源码学习(*)
- 使用Cordova框架把Webapp封装成Hybrid App实践——Android篇
- javascript 中 ";!function(){}() "; 是什么意思?
- CODEVS 1062 路由选择
- ui的设计原则
- ar解压deb包
- 基于Intranet的零件库管理信息系统设计--part02
- ionic+AnjularJs实现省市县三级联动效果
- 面向对象编程思想(OOP)
- [ZJOI2012]灾难(建图)
- 微信小程序:scroll滑到指定位置
- Docker for windows 入门三(PowerShell命令使用)
- php安装及配置笔记
- 基于配置的Spring MVC3
- HDU 2067 小兔的棋盘 (模拟)
- 清北学堂学习总结 day1 数据结构 练习
热门文章
- luogu P4525 自适应辛普森法1
- [转] 总结了N个真实线上故障
- 如何简单理解spring aop和事务
- Android MTK平台 客制化系统来电界面(屏蔽 InCallUI 提供接口给客户自行展示来电去电页面)
- 糟糕,你写的 BUG 要被存1000年了!
- 一文打尽Java抽象类和接口的相关问题
- java_抽象类、接口、多态的使用
- C#LeetCode刷题之#26-删除排序数组中的重复项(Remove Duplicates from Sorted Array)
- Memcached高可用组件之repcached
- MySQL元数据信息