因为项目的关系,现在项目中需要用到单元测试,以前的项目中没有使用过,所以对这个不熟悉,现在正好利用这个机会学习一下单元测试,这篇文章主要从以下几个方面来总结,以便能够入门单元测试。
1,什么是单元测试?
2,常见的单元测试框架?
3,如何使用VS自带的单元测试框架进行单元测试?
1,什么是单元测试
简单来说,单元测试就是检查一个方法执行后的结果是否与预期的一致。
2,常见的单元测试框架
1) NUnit,是xUnit家族中的一员,有java版的JUnit,NUnit是专门针对.net平台的单元测试框架,它的最大优点是免费,轻量和节约内存,它不需要借助IDE就可以直接运行。
2) vsUnit,是Visual Studio集成的单元测试框架,它的最大优点是与vs集成,受IDE内部支持。另外还提供了丰富的断言和属性。这篇文章主要就是以vsUnit为例来总结。
3,如何使用VS自带的单元测试框架(vsUnit)进行单元测试
使用vs自带的单元测试框架创建单元测试可以总结为以下几个步骤:
第1步:创建一个类库项目并写好待测试的方法(或称为函数)
第2步:在待测试的方法上右击,选择”创建单元测试”选项,如图。
第3步:打开创建单元测试窗口,可以看到我们选择的待测试方法已经选中了,点击确定。
第5步:这样,vs就为我们生成了一个单元测试的框架,看一下生成的测试代码。
生成的工程,并添加了对Microsoft.VisualStudio.QualityTools.UnitTestFramework程序集的引用,我们所有的测试API都定义在这个dll中。
图为生成的测试代码,可以看到vs自动给类添加了TestClass特性,给方法添加了TestMethod特性。
第6步:编写测试代码,并用断言Assert判断测试是否通过。代码如下。
[TestMethod()] public void AddTest() { Class1 target = new Class1(); // TODO: Initialize to an appropriate value double d1 = 2F; // TODO: Initialize to an appropriate value double d2 = 3F; // TODO: Initialize to an appropriate value double expected = 5F; // 期望值 double actual; actual = target.Add(d1, d2);//实际值 Assert.AreEqual(expected, actual);//利用断言判断实际值是否与期望值一致,如果一致则测试通过,否则失败 }
第7步:运行单元测试。有两种方式,一种是在方法上右键选择运行“测试”,第二种方法是利用测试视图。
方法一:在方法上右键选择
方法二:利用测试视图
第8步:查看测试结果,可以通过测试结果窗口查看,如图所示,如果为passed表示测试通过,如果为failed则表示测试失败。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2012-07-05 读<<CLR via C#>>总结(13) 详谈泛型