【问题标题】:Enabling assertions in Netbeans在 Netbeans 中启用断言
【发布时间】:2010-12-25 05:36:42
【问题描述】:

我想做类似的事情

java -enableassertions com.geeksanonymous.TestClass

我该怎么做?

【问题讨论】:

    标签: java netbeans assertions


    【解决方案1】:

    如果您正在使用 Tomcat 编写 Web 应用程序,请在服务器设置中设置 -enableassertions,而不是在项目设置中。

    在带有 Tomcat 6 或 7 的 NetBeans 7.2.1 中,转到:Tools (on the main menu) -> Servers -> Tomcat X.X -> Platform tab -> VM Options 并添加 -enableassertions,然后重新启动服务器。

    【讨论】:

      【解决方案2】:

      右键单击您的项目并选择Properties -> Run -> Add new configuration(为配置选择一个名称,在我的例子中,我将其命名为“assertion”)。然后选择VM options,写-enableassertions

      【讨论】:

        【解决方案3】:

        在最新版本的 Netbeans 8.0 中最简单的方法是... 转到运行->设置项目配置->转到“自定义”

        然后再次弹出一个窗口,点击VM Options前面的“Customize”,在选项中选择“ea”。

        【讨论】:

          【解决方案4】:

          对于常规应用和 Swing 应用:

          1. 在项目资源管理器中右键单击项目
          2. 选择属性(在弹出菜单的底部)
          3. 选择运行(在类别下)
          4. 将 VM 选项字段设置为包括 -enableassertions
          5. 点击[确定]

          如果您正在开发 Web 应用程序,则必须使用一种在服务器上启用断言的方法:

          1. 菜单:工具/服务器
          2. 选择您的服务器(在左侧)
          3. 点击平台表(右中)
          4. 将 VM 选项字段设置为包括 -enableassertions
          5. 点击【关闭】

          【讨论】:

          • 这是为哪个版本的 NB 编写的?
          【解决方案5】:

          使用 netbeans 7.0 中的 Maven 项目,选择“文件”->“项目属性 ()”。

          在出现的窗口中,选择“运行”,并将-enableassertions 添加到“VM 选项”文本框中。

          【讨论】:

          • “运行文件...”会忽略此选项,知道如何启用此功能吗?
          • @BrettRyan 使用“运行文件”(Netbeans 8.1)为我工作。顺便谢谢你的回答。
          • 出于好奇,为什么 IDE 不默认启用此选项? +1
          • @BrettRyan in Project Properties->Actions->在 Run File via Main()-> 转到“Set Properties”字段并将-enableassertions添加到“exec.args”
          【解决方案6】:

          是的,这是 NetBeans 中的一个错误,它在运行单元测试时不启用断言 (https://netbeans.org/bugzilla/show_bug.cgi?id=139035)。 Adrian 的建议将起作用(尽管测试失败,但为我关心的代码启用了断言)。另一种方法是编辑 build-impl.xml 并添加 junit 的宏定义(只需搜索“junit”)。

          【讨论】:

            【解决方案7】:

            最简单的方法是使用 Run 属性。该属性标记为“VM 选项”。

            This tutorial 有来自 NetBeans 5.5 的更详细信息和屏幕截图。该对话框在最新版本的 NetBeans 中非常相似; 6.8,今天可用。

            【讨论】:

              【解决方案8】:

              我不了解 Netbeans,但您也可以通过编程方式启用断言(也许这对您也有帮助)。

              public class WhenRunningTests() {
              
                  static {
                      ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
                  }
              
                  @Test(expected=AssertionError.class)
                  public void assertionsShouldBeEnabled() {
                      assert false;
                  }
              }
              

              【讨论】:

              • 只对static中的语句执行后加载的类设置断言状态为启用,详见stackoverflow.com/a/44123936。为了有所帮助,此答案需要包含调用此语句的通用位置。到目前为止我还没有找到。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2018-06-18
              • 2011-09-26
              • 2011-07-27
              • 2010-12-20
              • 2011-10-30
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多