使用Assert Java

时间:2016-01-09 20:30:51

标签: java

我无法理解java中的assert是如何工作的。 我想这样做,如果断言不正确,那么测试应该失败。以下示例应返回false,但测试不会失败。我错过了什么?

示例:

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;
        }
    }
}

3 个答案:

答案 0 :(得分:4)

您需要使用-ea标志启用断言。

你可能不想使用assert,但是有一个适当的测试框架,它有自己的断言方法。

答案 1 :(得分:2)

条件age < 60对于age等于50为真。因此条件将成功,并且断言不会失败。

当条件为false时,

断言将失败。

答案 2 :(得分:0)

关于断言的事情要理解,因为断言仅用于开发阶段。它们不是您要交付给客户的解决方案的一部分,而是在开发阶段早期捕获错误的一种方式。这就是为什么您在生产中将其关闭。