在VSTS中的单元测试工具可以对任何类、接口、结构等实体的字段、属性、构造函数、方法等进行单元测试。
创建单元测试分为两类:
1.整体测试:在类名称上右击鼠标,点击创建单元测试,就可以对整个类创建单元测试了。这时它会为所有可以被测试的内容全部添加测试方法,开发人员可以直接在自动添加 的方法内添加测试代码就可以了
2.单独测试:将鼠标聚焦到待测试的这个项目名称之上,点击鼠标右键,在右键菜单中选择创建单元测试选项,这样就可以单独为某个方法来创建单元测试了。
通常我们把单元测试的代码放到一个单独的项目中,在Visual Studio中,新建项目时就有一种项目是测试项目,在实际测试时,我们在给一个类或者一个方法创建单元测试的时候Visual Studio会自动检测当前的解决方案中是不是已经有了测试项目,如果没有,它会提示我们并且,只要我们经过简单的选择之后就会自动为我们添加一个测试项目到我们的解决方案中,如果已经有了测试项目那么我们所添加的测试方法或者测试类都会自动添加到这个解决方案中的测试项目中来
在编写单元测试代码之前,我们先了解一个在单元测试中非常重要的类
Assert类
Assert:断言
在using Microsoft.VisualStudio.TestTools.UnitTesting命名空间中
Assert是一个静态类
成员:
序号 |
方法 |
描述 |
1 |
AreEqual |
判断两个值是否相等,如果两个值不相等,则测试失败。有多个重载 |
2 |
AreNotEqual |
判断两个值是否不相等,如果两个值相等,则测试失败。有多个重载 |
3 |
AreSame |
判断引用的对象是都相同。如果两个输入内容引用不相同的对象,则测试失败 |
4 |
AreNotSame |
判断引用的对象是否不相同。如果两个输入内容引用相同的对象,则测试失败 |
5 |
Fail |
断言失败 |
6 |
Inconclusive |
表示无法证明true或false的测试结果 |
7 |
IsFalse |
指定的条件是否为false。如果该条件为true,则测试失败 |
8 |
IsTrue |
指定的条件是否为true。如果该条件为false,则测试失败 |
9 |
IsInstanceOfType |
测试指定的对象是否为所需类型的实例。如果所需的实例不在该对象的继承层次结构中,则测试失败 |
10 |
IsNotInstanceOfType |
测试指定的对象是否为所需类型的实例。如果所需的实例在该对象的继承层次结构中,则测试失败 |
11 |
IsNull |
测试指定的对象是否为空 |
12 |
IsNotNull |
测试指定的对象是否为非空 |
TestClass特性
用于标识一个类是测试类
用法:[TestClass()]
测试类的命名方式:<被测试类的类名>Test,如被测试类名为Demo则测试类名为DemoTest
TestMethod特性
用于标识一个测试方法
用法:[TestMethod()]
测试方法的命名方式:<被测试类的方法名>Test,如被测试方法名为Demo则测试方法名为DemoTest