一、Assert类的使用

1、Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll就可以使用了。

2、使用Assert类可以对特定功能进行验证,单元测试方法执行开发代码中的方法代码,但只有包含Assert语句时才能报告代码行为方面的内容。

3、Assert在测试方法中,可以调用任意数量的Assert类方法,如Assert.AreEqual()方法。Assert类有很多方法可供选择,其中许多方法具有多个重载。

4、使用CollectionAssert类可比较对象集合,也可以验证一个或多个集合的状态。

5、使用StringAssert类可以对字符串进行比较。此类包含各种有用的方法。如:StringAssert.Contains、StringAssert.Matches和StringAssert.StartWith。

6、AssertFailedException只要测试失败,就会引发AssertFailedException异常。如果测试超时,引发意外的异常,或包含生成了Failed结果的Assert语句,则测试失败。

7、AssertInconclusiveException只要测试生成的结果是Inconclusive,就会引发AssertInconclusiveException。通常,向仍在处理的测试添加Assert.Inconclusive来指明该测试尚未准备好,不能运行。

二、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:测试指定的对象是否为非空
 
 
 
三、测试实例
 
C# 代码   复制

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;
}
}

/// <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); //不是空所以测试失败
}

}
}

单元测试中Assert类的更多相关文章

  1. 单元测试中Assert类的用法

    Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.Quality ...

  2. VS单元测试中Assert类的用法

    首先说介绍一下,Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio ...

  3. junit4 assert类中的assert方法总结

    junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类. 1.assertTrue/False([String message,]boolean cond ...

  4. 关于spring中Assert的应用(方法入参检测工具类)

    关于spring中Assert的应用(方法入参检测工具类) Web 应用在接受表单提交的数据后都需要对其进行合法性检查,如果表单数据不合法,请求将被驳回.类似的,当我们在编写类的方法时,也常常需要对方 ...

  5. junit4 assert类中的assert方法总结

    junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类. 1.assertTrue/False([String message,]boolean cond ...

  6. 单元测试Assert类

    Assert类主要的静态成员 1. AreEqual:方法被重载了N多次,主要功能是判断两个值是否相等:如果两个值不相等,则测试失败. 2. AreNotEqual:方法被重载了N多次,主要功能是判断 ...

  7. server.port 在单元测试中,调用的类或者方法这个地方获取到的端口号就会变成-1

    @Value("${server.port}") 本文链接:https://blog.csdn.net/weixin_38342534/article/details/886985 ...

  8. 【Win10】单元测试中捕获异步方法的指定异常

    温馨提醒:本文需要知道什么是单元测试才能阅读. 在之前 WPF.ASP.NET 中,单元测试要捕捉指定异常,我们是通过 ExpectedExceptionAttribute 来实现的.如下图: 但是, ...

  9. JUnit3 结合一个除法的单元测试说明Assert.fail()的用法

    之前一篇博文(JUnit基础及第一个单元测试实例(JUnit3.8))介绍了用JUnit做单元测试的基本方法,并写了一个简单的类Calculator,其中包含了整型加减乘除的简单算法. 本文通过完善其 ...

随机推荐

  1. 15_CXF和Spring开发手机号查询网站

    [整体分析] [生成客户端代码] wsdl网址: http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx 生成的客户端代码 [工程截图(已拷入客户端 ...

  2. undrop for innodb c_parser 源码分析

    一,主函数功能: 1,分析命令行参数,保存在全局变量中; 2,打开文件,加载表定义sql,调用分析函数开始处理; 3,打印导入数据的sql语句; 二,文件处理函数,void process_ibfil ...

  3. 九度OJ 1410 垒积木 -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1410 题目描述: 给你一些长方体的积木,问按以下规则能最多垒几个积木. 1 一个积木上面最多只能垒另一个积木. 2 ...

  4. 空对象模式(Null Object Pattern)

    空对象模式:用一个空对象来取代null实例的检查,空对象实现一个不做任何动作的关系.(消除如if(Object == null) 这样的检查null实例代码) 例子: public abstract ...

  5. 编译安装php5.5.7 脚本

      #!/bin/bash .tar.gz ];then wget http://oss.aliyuncs.com/aliyunecs/onekey/php/php-5.5.7.tar.gz fi . ...

  6. 教了几天C语言 C语言竞赛------家长们你们为什么这么急!!

    由于工大某些传统,暑假放一个月,想想有很多事情要做,而且回去也是热着,倒不如不回家了,在哈尔滨正好避暑,又能轻轻松松的吧事情做了,暑假还能有个好的休息,这样想着,最终决定不回去了.其实不回去的话,就会 ...

  7. 微信支付JS API使用心得

    微信的接口真的很坑爹,只返回成功或失败,从来不会告诉你为什么失败.这个微信支付的js接口也是调了一个下午才成功,期间踩了不少坑,在这里总结一下,而且把支付接口封装成了一个js文件,这样以后调用就很方便 ...

  8. python制作安装包(setup.py)

    1.制作setup.py from distutils.core import setup setup(name='Myblog', version='1.0', description='My Bl ...

  9. HDFS文件读写流程 (转)

    文件读取的过程如下: 使用HDFS提供的客户端开发库Client,向远程的Namenode发起RPC请求: Namenode会视情况返回文件的部分或者全部block列表,对于每个block,Namen ...

  10. Word分栏

    情景描述 Word分栏在小论文的撰写过程中是很常用的技术.但是,我们经常会遇到很难过的情况: 一段文字本来是连续分布的,可是当选择了分两栏         之后,开始部分在左边一栏,中间在右边一栏. ...