2016-01-09 45 views
3

我很難理解java中的assert是如何工作的。 我想這樣做,如果斷言不正確,那麼測試應該失敗。以下示例應返回false,但測試不會失敗。我錯過了什麼?使用Assert Java

例子:

package test; 


public class tests { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     tests s = new tests(); 
     s.approve(500); 

    } 
    public boolean approve(int age) 
    { 
     assert (age < 60) :"Test Failed" ; 
     if (age > 100) 
     { 
      return true; 
     } 
     else 
     { 
      return false; 
     } 

    } 
} 
+1

是否將'-ea'傳遞給虛擬機?默認情況下,斷言是禁用的。 – user3707125

回答

3

您需要啓用與-ea標誌斷言。

雖然你可能不想使用assert,但是有一個合適的測試框架,它有自己的斷言方法。

2

條件age < 60對於age等於50.因此,條件將成功並且斷言不會失敗。

當條件爲false時,斷言將失敗。

+0

已更新,但仍不失敗 – Dynamiite