首先说介绍一下,Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll就可以使用了,
在这里我会举例说明Assert里面的一些主要的静态成员。
1、
AreEqual:方法被重载了N多次,主要功能是判断两个
值是否相等;如果两个值不相等,则测试失败。
2、
AreNotEqual:方法被重载了N多次,主要功能是判断两个
值是否不相等;如果两个值相等,则测试失败。
3、
AreNotSame:
引用的对象是否不相同;如果两个输入内容引用相同的对象,则测试失败.
4、
AreSame
:引用的对象是否相同;如果两个输入内容引用不相同的对象,则测试失败.
5、
Fail
:断言失败。
6、
Inconclusive
:表示无法证明为 true 或 false 的测试结果
7、
IsFalse
:指定的条件是否为 false;如果该条件为 true,则测试失败。
8、
IsTrue:
指定的条件是否为 true;如果该条件为 false,则测试失败
9、
IsInstanceofType:
测试指定的对象是否为所需类型的实例;如果所需的实例不在该对象的继承层次结构中,则测试失败
10、
IsNotInstanceofType:
测试指定的对象是否为所需类型的实例;如果所需的实例在该对象的继承层次结构中,则测试失败
11、
IsNull:
测试指定的对象是否为非空
12、
IsNotNull:
测试指定的对象是否为非空
具个例子来说明上面所写的。(先创一个测试工程)
usi using
Microsoft.VisualStudio.TestTools.UnitTesting;
using
System;
using
System.Text;
using
System.Collections.Generic;
namespace
Temp_Test
...
{ /**//// <summary> ///这是 TempDll.TempDll 的测试类,旨在 ///包含所有 TempDll.TempDll 单元测试 ///</summary> [TestClass()] public class TempDllTest ...{ private TestContext testContextInstance; /**//// <summary> ///获取或设置测试上下文,上下文提供 ///有关当前测试运行及其功能的信息。 ///</summary> public TestContext TestContext ...{ get ...{ return testContextInstance; } set ...{ testContextInstance = value; } } 附加测试属性#region 附加测试属性 // //编写测试时,可使用以下附加属性: // //使用 ClassInitialize 在运行类中的第一个测试前先运行代码 // //[ClassInitialize()] //public static void MyClassInitialize(TestContext testContext) //{ //} // //使用 ClassCleanup 在运行完类中的所有测试后再运行代码 // //[ClassCleanup()] //public static void MyClassCleanup() //{ //} // //使用 TestInitialize 在运行每个测试前先运行代码 // //[TestInitialize()] //public void MyTestInitialize() //{ //} // //使用 TestCleanup 在运行完每个测试后运行代码 // //[TestCleanup()] //public void MyTestCleanup() //{ //} // #endregion /**//// <summary> ///测试方法入口处 ///</summary> [TestMethod()] public void Test() ...{ System.IO.FileInfo file = null; System.IO.FileInfo file1 = file; System.IO.DirectoryInfo dir = null; string tempTrue = "T"; string tempFalse = "F"; //Assert.AreEqual(tempTrue, tempFalse, "两个对想不相同,测试失败"); //Assert.AreNotSame(file1, tempTrue, "两个引入的对象是同一个,测试失败"); //Assert.AreSame(file1, file, "两个引入的对象是不相同的"); //Assert.Fail("不管是什么,直接宣布测试失败"); //Assert.Inconclusive("同Fail差不多,但不是失败,只是测试不能通过"); //Assert.IsFalse(true, "如果是真,表示测试失败"); //Assert.IsTrue(false,"如果为假,请示测试失败"); //Assert.IsInstanceOfType(true,tempTrue.GetType(),"类型不相同,测试失败"); //Assert.IsNull(tempFalse,"不是空所以测试失败"); } }}
Test方法里面的注释语句,可以一个一个试试,一定要注意.NET平台左下面出现的提示是什么样的。
例图