【发布时间】:2010-12-25 05:36:42
【问题描述】:
我想做类似的事情
java -enableassertions com.geeksanonymous.TestClass
我该怎么做?
【问题讨论】:
标签: java netbeans assertions
我想做类似的事情
java -enableassertions com.geeksanonymous.TestClass
我该怎么做?
【问题讨论】:
标签: java netbeans assertions
如果您正在使用 Tomcat 编写 Web 应用程序,请在服务器设置中设置 -enableassertions,而不是在项目设置中。
在带有 Tomcat 6 或 7 的 NetBeans 7.2.1 中,转到:Tools (on the main menu) -> Servers -> Tomcat X.X -> Platform tab -> VM Options 并添加 -enableassertions,然后重新启动服务器。
【讨论】:
在最新版本的 Netbeans 8.0 中最简单的方法是... 转到运行->设置项目配置->转到“自定义”
然后再次弹出一个窗口,点击VM Options前面的“Customize”,在选项中选择“ea”。
【讨论】:
对于常规应用和 Swing 应用:
如果您正在开发 Web 应用程序,则必须使用一种在服务器上启用断言的方法:
【讨论】:
使用 netbeans 7.0 中的 Maven 项目,选择“文件”->“项目属性 ()”。
在出现的窗口中,选择“运行”,并将-enableassertions 添加到“VM 选项”文本框中。
【讨论】:
-enableassertions添加到“exec.args”
是的,这是 NetBeans 中的一个错误,它在运行单元测试时不启用断言 (https://netbeans.org/bugzilla/show_bug.cgi?id=139035)。 Adrian 的建议将起作用(尽管测试失败,但为我关心的代码启用了断言)。另一种方法是编辑 build-impl.xml 并添加 junit 的宏定义(只需搜索“junit”)。
【讨论】:
最简单的方法是使用 Run 属性。该属性标记为“VM 选项”。
This tutorial 有来自 NetBeans 5.5 的更详细信息和屏幕截图。该对话框在最新版本的 NetBeans 中非常相似; 6.8,今天可用。
【讨论】:
我不了解 Netbeans,但您也可以通过编程方式启用断言(也许这对您也有帮助)。
public class WhenRunningTests() {
static {
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
}
@Test(expected=AssertionError.class)
public void assertionsShouldBeEnabled() {
assert false;
}
}
【讨论】:
static中的语句执行后加载的类设置断言状态为启用,详见stackoverflow.com/a/44123936。为了有所帮助,此答案需要包含调用此语句的通用位置。到目前为止我还没有找到。