Eclipse:启用断言

107

我正在使用 Eclipse Galileo,如何在 Eclipse 中启用断言?

根据其他网站的建议,我尝试添加参数: -ea。我还尝试将编译器兼容性级别更改为1.4,但这些建议都没有起作用。

5个回答

182
  1. 进入 菜单 Run,然后到 菜单项 Run Configurations

enter image description here

  1. 左面板 中,进入 Java Application,然后进入 Assertions

  2. 右面板 中,选择 标签页 Arguments

  3. VM arguments 字段下,键入 -ea 以启用断言。

enter image description here

  1. 点击 Apply,然后点击 Run 按钮

要全局将其设置为默认

  1. 进入菜单 Window(如果您在 Windows 上),或进入菜单 Eclipse(如果您在 Mac 上)。在 Linux 上可能类似。

  2. 进入 Preferences

  3. 选择 Java,然后从左面板中选择 Installed JREs

  4. 选择您的 JRE,然后在 右面板 中点击 Edit... 按钮。

  5. Default VM arguments 字段中添加 -ea


这对于Android不起作用,显然需要JUnit Assert。 - Noumenon
43
要将其全局设置为默认值,请转到“Window -> Preferences -> Java / Installed JREs”。选择JRE并单击“Edit...”。在“Default VM arguments”字段中添加“-ea”。 - Silveri
@nbro 我在“Java Application”下没有“Assertions”选项。也许你是指当前的运行配置? - John McClane
@JohnMcClane 可能不同版本的 Eclipse 有不同的面板、按钮和菜单。如果我特别添加了那个指令(虽然是很久以前的事情),很可能是因为我在自己的版本上尝试过(正如你从图片中也可以看到,我正在使用 Mac,所以在其他系统上 Eclipse 版本可能略有不同)。 - nbro
@nbro 图片中Java应用程序下的那些项目名称(大概)是项目名称。如果当前项目的名称与Assertions不同,该怎么办? - John McClane
1
@JohnMcClane 是的,我认为你是对的。那些可能是项目名称。你应该去你的项目名称(我猜)而不是去“断言”。 - nbro

36
如果你想全局解决所有JUnit测试的问题,那么请前往首选项 > Java > JUnit,并在顶部勾选“在创建新的JUnit启动配置时添加'ea'到VM参数”复选框。现在,Eclipse将不会在你想运行每个新测试时打扰你。对于现有的测试,您需要在运行配置 > JUnit中删除它们的运行配置。

5
有没有办法将 -ea 添加到所有 现有的 JUnit 启动配置中? - mxro
要将-ea添加到现有的测试中,您需要在“运行配置”>“JUnit”中删除运行配置。 - Honza

13
为了全局地对所有的Java运行进行此操作,请编辑已安装JRE的属性。
例如:Windows-> 首选项-> 高亮显示默认JRE-> 点击“编辑”按钮-> 在默认VM参数输入框中,输入-ea-> 点击完成按钮。
这在Eclipse Kepler SR2上有效。

5

Maven 项目中,您可以通过以下方式使用自动魔法类路径运行 main 方法:

bash> export MAVEN_OPTS="-ea" && mvn exec:java -Dexec.mainClass="com.your.class.with.main"
cmd> set MAVEN_OPTS="-ea" && mvn exec:java -Dexec.mainClass="com.your.class.with.main"

在Linux/Eclipse中,您可以添加具有Bash终端窗口以实现更方便的使用。

4
您想在从Eclipse运行的应用程序中启用断言吗?我通常只需将“-ea”添加到“Run As”配置文件中的命令行参数即可。

1
是的,当我从命令行运行时,我通常也是这样做的,这就是为什么我认为在首选项中添加那些VM参数会起作用。感谢您的意见。确认一下,我并不是因为认为应该这样做而变得疯狂了。 - well actually

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接