单元测试之道一:NUnit基础
一、單元測試的概述
1.單元測試是開發(fā)編寫的一小段代碼,用于檢測被測代碼的一個很小的,很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數的行為。執(zhí)行單元測試是了為證明某段代碼的行為確實和開發(fā)者所期望的一致。
2.單元測試的目的是讓你對你寫的代碼更有信心,讓你的工作更有效率.
3.通過寫單元測試代碼,可以測試函數的結果是事達到預期的目標,而且任何時候都可以運行單元測試代碼,看修改或者增加了新的功能時候是否引進了新的錯誤.通過查看單元測試代碼可以找到如何使用你寫代碼的例子.
二、單元測試的Quick Start和Uint的使用入門
?
三、編寫和運行Unit測試
1.Unit的各種斷言
AreEquals:判斷兩個元數據是否相等.
AreSame:判斷兩個引用數據是否相等.
IsTrue,IsFalse:判斷布爾表達式是否是真或假.
Isull,Isnotull:判斷引用類型是否是ull或ot ull.
Fail:斷言以失敗返回
2.斷言實行立即退出制:即按順序執(zhí)行測試代碼,只有有某一個斷言失敗,則立刻退出測試程序,顯示錯誤.
3.NUint的編碼
引用NUint.Framework命名空間
對類應用TestFixture Attribute,類必須是public ,并且有一個public void的無參的默認構造函數
對方法(函數)應用Test Attribute,
4.測試分組
通過對類或方法應用Category Attribute,就可以把類和方法分成不同的測試組,運行測試了可以有選擇的運行某組或某幾組測試.
5.類前置和后置方法,方法的前置和后置方法
類前置和后置方法是指在類中的其中方法執(zhí)行前和執(zhí)行后必須運行的方法,分別是oneTimeSetup()和OneTimeTeardow(). 類似于構造和析構函數.
方法的前置和后置方法,是指在每個測試方法運行前后都必須運行的方法,分別是MySetup()和MyTeardown().
6.異常斷言
在方法中應用ExpectedException Attibute和進行斷言,以期望某個方法拋出某個異常.
?
單元測試之二:單元測試有哪些測試內容?單元測試要測試哪些內容
Right ——函數是否能得到期望的正確的結果 ?
B —— 是否所有的邊界條件都是正確的?
I? —— 反向運算結果是否正確 ?
C ——交叉檢查結果是否正確.(換種算法來檢查結果是否一致)
E ——強制錯誤條件出現時結果是否正確.(網絡斷,文件不存在等條件)
p ——是否滿足性能要求?
1、結果是否正確
確認代碼能夠運行正確
代碼所做的和你的期望是一致的!
對于有大量測試數據的測試,可考慮用一個獨立的數據文件(XML文件)
2、邊界條件是否都滿足?
找邊界條件是做單元測試中最有價值的工作之一,因為BUG一般就出現在邊界上。
3、檢查反向運算
對于一些方法,可以采用反向邏輯關系來驗證他們。
比如:
A、對結果進行平方的方式來檢測一個計算平方根的函數
B、數據庫中用查詢記錄的方式驗證新記錄是否插入成功
4、交叉檢查
采用其他的算法驗證結果是否跟原方法結果一致。
其他算法要驗證能完成任務,可能不是最佳的算法,只是速度太慢或太不靈活,但是對做測試非常有效。
另一種辦法:采用類本身不同組成部分的數據。
5、強制產生錯誤條件
強制引發(fā)真實世界里的錯誤,來測試代碼是如何處理的。
比如:內存耗光、磁盤用滿、時鐘出現問題、網絡不可用、系統(tǒng)過載、顯示分辨率過高或過低等
6、性能特性
?
轉載于:https://www.cnblogs.com/chjun2000/archive/2009/11/24/1609704.html
總結
以上是生活随笔為你收集整理的单元测试之道一:NUnit基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS 截取字符串及字符与数字转换
- 下一篇: Java程序员面试宝典--this