我在理解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;
}
}
}发布于 2016-01-09 20:34:25
您需要使用-ea标志启用断言。
不过,您可能不想使用assert,而是一个有自己的断言方法的适当的测试框架。
发布于 2016-01-09 20:34:39
对于等于50的age < 60条件,age为真。因此,条件将成功,断言不会失败。
当条件为false时,断言将失败。
发布于 2020-10-16 09:58:05
需要理解的是,它们只用于开发阶段。它们不是您向客户交付的解决方案的一部分,而是在开发阶段早期捕获bug的一种方法。这就是你为什么在生产中关掉它们的原因。
https://stackoverflow.com/questions/34698563
复制相似问题