首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式测试是否启用断言?

如何以编程方式测试是否启用断言?
EN

Stack Overflow用户
提问于 2012-10-23 11:57:42
回答 8查看 5.7K关注 0票数 23

OCP Java 6程序员实践考试的正确答案之一是:

您可以通过编程方式测试wheather断言是否已启用,而无需引发AssertionError

我怎么能这么做?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-10-23 12:03:21

我用这个

代码语言:javascript
复制
boolean assertOn = false;
// *assigns* true if assertions are on.
assert assertOn = true; 

我不知道这是不是“官方”的方式。

票数 34
EN

Stack Overflow用户

发布于 2012-10-23 12:02:12

我想你应该使用Class.desiredAssertionStatus()

http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#desiredAssertionStatus()

票数 30
EN

Stack Overflow用户

发布于 2012-10-23 12:25:00

Oracle Java教程提供了有关如何执行此操作的信息.

http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html

本教程摘录

  1. 为什么不提供一个构造来查询包含类的断言状态? 这样的结构将鼓励人们内联复杂的断言代码,我们认为这是一件坏事。此外,如果您认为必须查询当前API之上的断言状态,这是非常简单的: 布尔值assertsEnabled = false;断言assertsEnabled = true;//故意副作用!//现在assertsEnabled设置为正确的值
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13029915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档