C#单元测试小例子
步骤简略,特别处进行说明。
以VS2015为例。
1、创建一个解决方案方案,如添加一个ConsoleApplication1的解决方案。
2、在解决方案的默认项目中,添加一个Calc类
3、将Calc设置成public,然后添加一个静态方法。
public class Calc
{
public static int ADD(int a, int b)
{
return a + b;
}
}
4、在ADD的方法上,点右键【创建单元测试】,在弹出的对话框中,选择【测试项目名】和【输出文件】,其他内容选默认即可。自动创建一个方法。
5、补全方法并用断言结尾即可。
namespace ConsoleApplication1.Tests
{
[TestClass()]
public class CalcTests
{
[TestMethod()]
public void ADDTest()
{
int a = , b = ;
int c = Calc.ADD(a, b);
Assert.AreEqual(, c);
}
}
}
6、这时,对于我们要测试的方法上方,就有VS自动添加的测试用例运行状况的提要了。

7、以后修改了这个方法,点击运行测试用例即可。
断言包括以下几种,第一个参数是你的期望值(Except),第二个参数是函数返回或影响程序产生的实际值(Actual)
① Assert.AreEqual
主要是验证函数产生的影响值或返回的值跟预期是否一致,这个方法不适合验证返回的数据集以及集合之类的数据,主要针对字符串,数字等等的单一类型,它还有个泛型重载,这个是比较好的,建议多使用,它还有第三个参数,是一个string型的message,基本上不会用到!
例子:Assert.AreEqual<string>("a", "a", "cheng xu yuan");
② Assert.AreNotEqual
没什么要讲的,情况跟上面相反,主要是验证实际值跟期望值不相等的情况!
③ Assert.AreSame
判断实际值跟预期值的类型是否一致!
④ Assert.AreNotSame
跟上面正好相反,测试类型不一致!
⑤ Assert.IsNotNull,Assert.IsNull,Assert.IsTrue,Assert.IsFalse
看这些方法名就知道什么意思了!
⑥ Assert.IsInstanceOfType,Assert.IsNotInstanceOfType
判断指定的对象是否是指定的类型!
⑦ Assert.Fail
迫使断言失败,不管前面的断言是否都成功了,但测试结果是错误的,因为我强制断言失败了!
C#单元测试小例子的更多相关文章
- asp.net mvc 5 单元测试小例子
using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTest ...
- 2、Lucene 最简单的使用(小例子)
在了解了Lucene以后,我打算亲手来做一个Lucene的小例子,这个例子只是Lucene最简单的应用:使用Lucene实现标准的英文搜索: 1.下载Lucene 下载Lucene,到Lucene的官 ...
- springmvc入门的第一个小例子
今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...
- java即时通信小例子
学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...
- Runtime的几个小例子(含Demo)
一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.) 1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数); [runti ...
- bootstrap 模态 modal 小例子
bootstrap 模态 modal 小例子 <html> <head> <meta charset="utf-8" /> <title ...
- INI配置文件分析小例子
随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...
- JavaScript小例子:复选框全选
JavaScript小例子:复选框全选 这只是一个小例子,很简单,但是这个功能还是很常用的: 实现后效果如图: JavaScript代码: <script type="text/jav ...
- 【zTree】 zTree使用的 小例子
使用zTree树不是第一次了 但是 还是翻阅着之前做的 对照着 使用起来比较方便 这里就把小例子列出来 总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先 在 ...
随机推荐
- C#数字除法
C#中计算double a=1/1000:应该结果是0.001,但为什么会变成0呢? C# 中 如果相除的两个数都是整数(int 型) 那么除的结果就是只取整数部分 所以你才会取到0 如果你要取精确的 ...
- unity, 替换shader渲染(Rendering with Replaced Shaders)【转】
实现特效,尤其是一些后处理特效,经常需要将各物体的shader替换为另一套shader进行渲染到纹理,再后再进行合成或以某种叠加方式叠加到最后的画面上去. 再复杂一点儿的,可能不同的物体所用的替换sh ...
- 【FFMPEG】I,P,B帧和PTS,DTS时间戳的关系
FFmpeg里有两种时间戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp). 顾名思义,前者是解码的时间,后者是显示的时间.要仔细理解这两个 ...
- 使用runtime完成解档归档
简单的创建一个Person对象,并声明几个属性 @interface Person : NSObject<NSCoding> // 归档问题 必须遵守该协议 /** */ @propert ...
- [转帖]18W喂不饱有必要买30W充电器吗?iPhone 11 Pro Max充电评测
18W喂不饱有必要买30W充电器吗?iPhone 11 Pro Max充电评测 https://www.cnbeta.com/articles/tech/895237.htm 改天买一个 设备玩一玩 ...
- windows自动化测试 (python)
装插件 pywinauto 命令 pip install --upgrade pywinauto 最简单的一个例子,中文环境下 from pywinauto.application impor ...
- Python——类和对象(一)
一.定义类 在面向对象的程序设计中有两种重要概念: 类:可以理解为一个种类,一个模型,是一种抽象的东西. 实例.对象:可以理解为一种具体制作或者存在的东西. 定义类的语法格式如下: class 类名: ...
- 让Sublime Text3支持新建.vue高亮显示模板
首先要使用Package Control,安装要好 Vue Syntax Highlight和sublimetmpl插件. 1, 在Packages\SublimeTmpl\templates目录下新 ...
- 通过json_set函数,来修改data字段的值
SELECT REPLACE(json_extract(param,'$.payFundAcc'),'"','') from t_external_trade_event where sta ...
- (六)Redis之数据结构之sorted-set
一.常用方法 Sorted-Set和Set的区别 Sorted-Set中的成员在集合中的位置是有序的 添加元素 获得元素 删除元素 范围查询 1和2和3和4 添加/获得/删除元素/范围查询 packa ...