• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    在.NET環境中使用單元測試工具Nunit

    發布: 2008-10-22 10:16 | 作者: 網絡轉載 | 來源: 測試時代采編 | 查看: 203次 | 進入軟件測試論壇討論

    領測軟件測試網

    SetUp 和 Teardown Attributes簡介

        在寫Unit Tests的時候,有時你會需要在執行每一個test method之前(或之后)先作一些預備或善后工作。當然,你可以寫一個private的method,然后在每一個test method的一開頭或最末端呼叫這個特別的method;蛘,你可以使用我們要介紹的SetUp及Teardown Attributes來達到相同的目的。如同這兩個Attributes的名字的意思,有Setup Attribute的method會在該TextFixture中的每一個test method被執行之前先被Test Runner所執行,而有Teardown Attribute的method則會在每一個test method被執行之后被Test Runner所執行。一般來說,Setup Attribute及Teardown Attribute被用來預備一些必須的objects(對象),例如database connection、等等。上面的程序代碼示范了使用這個attribute的方法。

        ExpectedException Attributes簡介

        有的時候,你希望你的程序在某些特殊的條件下會產生一些特定的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簡介

        這個attribute你大概不會經常用的,但是一旦需要的時候,這個attribute是很方便使用的。你可以使用這個attribute來標示某個test method,叫Test Runner在執行的時候,略過這個method不要執行。使用這個Ignore attribute的方法如下:
       
    namespace UnitTestingExamples
    {
    using System;
    using NUnit.Framework;

    [TestFixture]
    public class SomeTests
    {
    [Test]
    [Ignore("We''re skipping this one for now.")]
    public void TestOne()
    {
    // Do something...
    }
    }
    }

        如果你想要暫時性的comment out一個test method的話,你應該考慮使用這個attribute。這個attribute讓你保留你的test method,在Test Runner的執行結果里面,也會提醒你這個被略過的test method的存在。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    43/4<1234>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>