• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在.NET环境中使用单元测试工具Nunit

发布: 2010-6-22 11:15 | 作者: 不详 | 来源: 领测测试网采编 | 查看: 185次 | 进入软件测试论坛讨论

领测软件测试网

  有的时候,你希望你的程序在某些特殊的条件下会产生一些特定的exception。要用Unit Test测试程序是否如预期的产生exception,你可以用一个try..catch的程序区段来catch(捕捉)这个exception,然后再设一个boolean的值来证明exception的确发生了。这个方法固然可行,但是太花费功夫。事实上,你应该使用这个ExpectedException attribute来标示某个method应该产生哪一个exception,如同下面的范例所示:

  namespace UnitTestingExamples

  {

  using System;

  using NUnit.Framework;

  [TestFixture]

  public class SomeTests

  {

  [Test]

  [ExpectedException(typeof(InvalidOperationException))]

  public void Test1()

  {

  // Do something that throws an InvalidOperationException

  }

  }

  }

  如果上面的程序被执行的时候,如果一旦exception发生,而且这个exception的type(类型信息)是InvalidOperationException 的话,这个test就会顺利通过验证。如果你预期你的程序代码会产生多个exception的话,你也可以一次使用多个ExpectedException attribute。但是,一个test method应该只测试一件事情,一次测试多个功能是不好的做法,你应该尽量避免之。另外,这个attributes并不会检查inheirtance的关系,也就是说,如果你的程序代码产生的exception是继承自InvalidOperationException 的subclass(子类化)的话,这个test执行的时候将不会通过验证。简而言之,当你使用这个attribute的时候,你要明确的指明所预期的exception是哪个type(类型信息)的。

  Ignore Attributes简介

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网