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

目录
相关文章
|
1月前
|
安全 测试技术
BOSHIDA DC电源模块的安全性能评估与测试方法
BOSHIDA DC电源模块的安全性能评估与测试方法
 BOSHIDA DC电源模块的安全性能评估与测试方法
|
1月前
|
安全
DC电源模块的安全性能评估与测试方法
DC电源模块的安全性能评估与测试方法 DC电源模块的安全性能评估与测试方法应包括以下几个方面: 1. 输入安全性测试:包括输入电压范围、输入电压稳定性、输入电流范围、输入电流保护等方面的测试。测试方法可以是逐步增加输入电压或输入电流,观察模块的工作状态和保护功能。
DC电源模块的安全性能评估与测试方法
|
1月前
|
监控 JavaScript 前端开发
在生产环境中测试和监控Vue项目的方法有哪些?
在生产环境中测试和监控Vue项目的方法有哪些?
25 4
|
1月前
|
芯片
电容在ESD测试中的选用方法
电容在ESD测试中的选用方法
28 2
|
1月前
|
Java Spring
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
8 0
|
3月前
|
敏捷开发 存储 安全
敏捷方法:什么是软件测试中的敏捷模式?
敏捷方法:什么是软件测试中的敏捷模式?
|
3月前
|
敏捷开发 机器学习/深度学习 人工智能
最实用测试方法——TIA
最实用测试方法——TIA
|
14天前
|
自然语言处理 测试技术 持续交付
现代软件测试方法与挑战
传统软件测试方法在当前快速发展的软件开发环境下面临着诸多挑战,因此,现代软件测试方法的探索与应用显得尤为重要。本文将介绍几种现代软件测试方法,并探讨其在应对软件开发挑战方面的作用。
10 0
|
16天前
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
29天前
|
传感器 监控 算法
【软件设计师备考 专题 】模块测试的方法和实践
【软件设计师备考 专题 】模块测试的方法和实践
71 0