1. 程式人生 > >assert在Java與groovy中的區別

assert在Java與groovy中的區別

expr 斷言 txt 沒有 其他人 表達式 except color 一個

  斷言是用於驗證假設條件是否為真,在Groovy的斷言中,如果假設的條件不為真,那麽就會拋出java.lang.AssertionError異常。使用Groovy表達式來測試假設條件。

  如

assert 1==2 : "One isn‘t Two"

  會拋出異常:

Exception thrown

java.lang.AssertionError: One isn‘t Two. Expression: (1 == 2)

    at ConsoleScript19.run(ConsoleScript19:1)

Java的斷言也是這麽寫的:
  assert 1==2 : "One isn‘t Two";

可見,Groovy的斷言語法與Java的斷言相同,Groovy的斷言可以省略分號。

斷言的使用技巧:
當你使用斷言時,你應用包含一條消息。此消息可以幫助其他人維護和理解你的代碼,理清你的意圖。

2. 強斷言

  Groovy的斷言assert關鍵字僅僅是檢查表達式是否為真。如果為假,斷言僅僅告訴開發者,表達式不成立,以及表達式使用的變量值,除此以外什麽都沒有。如果使用強斷言,斷言的輸出會提供表達式的每一個子表達式的可視化展現。下面我將詳細說明強斷言。

 assert new File(‘HelloWorld.txt‘)==new File(‘Hello.txt‘)

技術分享圖片

技術分享圖片

斷言可以方便地對代碼進行測試。

assert在Java與groovy中的區別