NUnit的屬性

         在前一篇文章中,我簡單描述了NUnit的使用方法,這篇文章中,我得趕快把NUnit的屬性記下來,不然過些天我就忘了,到時候只有哭鼻子了:)。

        TestFixture:它標記一個類包含測試,申明該類是用來測試的。一般用在class的定義之前;

        Test一般是放在method之前,表示對該方法的測試;如前一篇文章所示的class。

        SetUp/TearDown屬性:這兩個屬性一般是用來對資源的初始化/清除的,每個測試的method之前/之後都會調用這兩個屬性所測試的函數。一般用來處理共享數據的初始化/清除。

        TestFixtureSetUp/TestFixtureTearDown 也是用來對資源的初始化/清除的,但是它是用來標記test fixture初始化/清除一次時使用的,即整個測試過程中,只調用一次,一般用來標記連接數據庫的方法。

        Ignore屬性:不用說大家也都能猜到是什麼意思吧。當一個method還沒有完成時,我們可以在它的測試函數前面加上該屬性,當然也還要加上[Test]標籤,那麼在測試的時候,NUnit就會忽略對該函數的測試啦。等到該method完成之後,再去掉該[Ignore]標籤,讓它不再被忽略。

         ExpectedException:有的函數會拋出某些異常,我們就可以寫測試函數來判斷該異常結果是否是預料之中的,如判斷某個對象是否爲空:

        [Test]
        [ExpectedException(typeof(NullReferenceException))]
        public void TestForException()
        {
            int[] arr =null;

            Class1 myclass = new Class1();
            myclass.FindMax(arr);
        }

       在這裏,由於arr被賦予了null值,即爲ExpectedException的類型中的NullReferenceException,測試的時候就會綠燈通過了。異常的類型還有很多,如被零除(DivideByZeroException)等,具體的可以參考NUnit的文檔。

       category屬性:用該屬性,我們可以將測試的method分類,類名可以自己定義,如

       [Test]
        [Category("Short time")]
        public void MyTest1()
        {
        }

         在NUnit中,我們可以查看categories,然後選擇需要測試的category進行測試,很方便吧:)。

         好了,它的屬性就先記錄這些吧,以後遇到了再記錄。

        對了,關於NUnit的好文章當然不能忘了:

         http://confach.cnblogs.com/archive/2005/06/20/177817.aspx

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章