VS2005中单元测试自定义异常的方法

简介: 项目中我们继承.net系统异常类做成了一个自定义的异常类:WPSYSException在实际程序中发现异常情况时,需要构造并抛出此类异常时,代码如下:            //如果输入数组为空,报异常            if ((inDoubleArray == null) || (inDoubleArray.
项目中我们继承.net系统异常类做成了一个自定义的异常类: WPSYSException
在实际程序中发现异常情况时,需要构造并抛出此类异常时,代码如下:
             // 如果输入数组为空,报异常
             if  ((inDoubleArray  ==   null ||  (inDoubleArray.Length  ==   0 ))
            {
                
// 抛出异常
                 throw   new  WPSYSException(
                                             
null ,
                                             
null ,
                                             ProgID,
                                             strErrPos,
                                             
" 输入数组为空 " ,
                                             
" 申请的错误号常量 "
                                         );
            }

使用Vs2005作单元测试时,测试代码应写为以下方式,方可测试程序抛出的异常是否正确:
         ///   <summary>
        
/// ToOneArray (double[]) 的测试(输入数组为空)
        
/// </summary>
        [TestMethod()]
        [ExpectedException(
typeof (WPSYSException),  " 输入数组为空 " )]
        
public   void  ToOneArrayTest_e1()
        {
            
double [] inDoubleArray  =   null ;

            
double [] expected  =   null ;
            
double [] actual;
            
            actual 
=  WP.SEV001.COM.SYS.S000C11006.ToOneArray(inDoubleArray);
        }

即,注意在测试方法头加上次属性
[ExpectedException(typeof(WPSYSException), "输入数组为空")]
WPSYSException:自定义异常类
输入数组为空:异常中的信息

ExpectedExceptionAttribute (Type, String) 用预期的异常类型以及描述此异常的消息来初始化 ExpectedExceptionAttribute 类的新实例。

因WPSYSException为自定义的异常类,所在在测试工程中需要引用包含次异常类的dll或者加入代码

此前用以下方式也可实现指定错误信息的正确性测试,但不如上述方法规范:
         ///   <summary>
        
/// ToOneArray (double[]) 的测试(输入数组为空)
        
/// </summary>
        [TestMethod()]
        
public   void  ToOneArrayTest_e1()
        {
            
double [] inDoubleArray  =   null ;

            
double [] expected  =   null ;
            
double [] actual;
            
string  strErrorInfo  =   " 输入数组为空 " ;

            
try
            {
                actual 
=  DoubleArrayToOne.ToOne.ToOneArray(inDoubleArray);
            }
            
catch  (System.Exception ex)
            {
                Assert.AreEqual(ex.Message, strErrorInfo);
            }
        }

目录
相关文章
|
30天前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
46 4
|
3月前
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
68 1
|
3月前
|
测试技术 UED
软件测试中的“灰盒”方法:一种平衡透明度与效率的策略
在软件开发的复杂世界中,确保产品质量和用户体验至关重要。本文将探讨一种被称为“灰盒测试”的方法,它结合了白盒和黑盒测试的优点,旨在提高测试效率同时保持一定程度的透明度。我们将通过具体案例分析,展示灰盒测试如何在实际工作中发挥作用,并讨论其对现代软件开发流程的影响。
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
39 6
|
2月前
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
54 6
|
3月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
1073 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
2月前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
293 2
|
3月前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
406 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
3月前
|
机器学习/深度学习 算法 PyTorch
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-7.0版本进行目标检测的完整流程,包括算法介绍、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。YOLOv5以其高精度、快速度和模型小尺寸在计算机视觉领域受到广泛应用。
1178 0
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
|
3月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
103 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法