NUnit学习笔记(三)——Attribute使用介绍

发表于:2009-8-05 12:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

  6,ExpectedException

  标识该用例所期望抛出的异常

  有时候我们知道在特定条件下我们的程序将会抛出某个异常,我们就可以用ExpectedException这个特性在测试代码中验证,程序是否如我们所想的抛出了这个异常。

  如,我们那个求最大值的方法,如果传进去一个空的int32数组,应该会抛出一个NullReferenceException异常,为了验证我的猜想,我写了如下测试:

     <Test()> _
     Public Sub FindMaxTest()Sub FindMaxTest()Sub FindMaxTest()Sub FindMaxTest()
         '定义一个数组
         Dim list1() As Int32 = {1, 3, 10, 4}
         Dim list2() As Int32 = {1, 3, 4, 10}
         Dim list3() As Int32 = {10, 3, 1, 4}
         Dim list4() As Int32 = {-2, -1, -3}
 
         Dim my As New Class1
        '测试数组list1中的最大整数是不是10。
        Assert.AreEqual(10, my.FindMax(list1))

        '测试边界值
        Assert.AreEqual(10, my.FindMax(list2))
        Assert.AreEqual(10, my.FindMax(list3))

        '测试负数数组,数组中最大值应该是-1
        Assert.AreEqual(-1, my.FindMax(list4))
    End Sub

    <Test(), ExpectedException(GetType(NullReferenceException))> _
    Public Sub TestForException()Sub TestForException()
        Dim list1() As Int32
        Dim my As New Class1
        my.FindMax(list1)
    End Sub

  (C#中为[Test,ExpectedException(Typeof(NullReferenceExcepton))] )

  运行NUnit,如下:

  果然如此,程序的确抛出了NullReferenceException。而假如系统没有如我们所料抛出异常,或者抛出的不是此类异常,NUnit则会给我们个红灯笼。
65/6<123456>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号