關於斷言(Assert)


  斷言,字面上的意思大致是十分肯定的說,也就是說我們相信這個結果是真的.如果我們的斷言不為真,那這個這個結果就和我們預期的結果不一樣.在編程上同理,如果程序運行出來的結果和你想要的結果不一致,那你的程序里面的這個方法或者函數就達不到你想要的需求,也就是說這個程序是有一些問題的.這是網上關於斷言的一些解釋.

編寫代碼時,我們總是會做出一些假設,斷言就是用於在代碼中捕捉這些假設。斷言表示為一些布爾表達式,程序員相信在程序中的某個特定點該表達式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言而在部署時禁用斷言。同樣,程序投入運行后,最終用戶在遇到問題時可以重新啟用斷言。

  其實我感覺,斷言就像是一個if語句,如果結果和你的預期一樣,那么OK,結果為真繼續運行.如果結果和預期不符,那么程序會拋出一個系統級錯誤(不是異常),並且終止程序運行.例如下面這個單元測試.

1 public void AddTest()
2  {
3             int a = 20;
4             int b = 20;
5 
6             Assert.AreEqual(Program.Add(a,b),40);
7 }

這是對一個加法方法的測試,我們分別給兩個數a,b賦值並作為參數傳遞到方法Add(int num1,num2)中,Line 6 中的語句就是設置的斷言,在這里我斷言Add的返回值和40相等,運行測試,結果如下圖:

當我們把斷言中的結果設置成其他的數字,再次運行測試,結果就會變成這樣:

 

  斷言的使用包括以下兩種形式:

  1. assert Expression1
  2. assert Expression1:Expression2

  其中Expression1是一個布爾值,來判斷斷言是否成功.Expression2則是斷言失敗時輸出的失敗消息的字符串.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM