Jus*_*dro 6 java eclipse ant junit messagebox
我正在尝试在构建过程中通过无头Eclipse执行JUnit测试.使用以下命令从Ant脚本调用单元测试:
eclipsec.exe -noSplash -application org.eclipse.ant.core.antRunner -data "C:\SomeDirectory" -buildfile "C:\Path\To\tests.xml"
这种方法很好,除非Ant脚本由于任何原因需要失败(通过显式任务,因为单元测试失败,或者因为单元测试向上游引发了异常).在任何一种情况下,eclipsec都会引发一个对话框,报告"发生了错误".这伴随着一个例外.堆栈跟踪的顶部(如果相关)是:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.ant.core.AntRunner.run(AntRunner.java:513)
at org.eclipse.ant.core.AntRunner.start(AntRunner.java:600)
Run Code Online (Sandbox Code Playgroud)
我真的不关心Ant脚本或Eclipse失败的原因 - 这就是日志记录的用途 - 但是随之弹出的对话框是不可接受的,因为它在等待隐形时挂起我们的持续集成系统用户来点击它.
有没有办法可以抑制这个对话框? 有什么方法可以解决这个不需要真正的用户响应它的对话框吗?
附加信息:
Eclipse版本:Indigo(截至昨日).Ant和JUnit内部.
Java版本:JDK 6.0_30 32位
操作系统:Windows(7和Server 2003)
如果您使用的是ErrorDialog的子类,则可以将一个名为AUTOMATED_MODE的静态设置为true.
事实证明(参见下面的评论)错误来自包装器程序exclipsec.在命令行选项寻找在这里:http://help.eclipse.org/indigo/topic/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html在命令中指定--launcher.suppressErrors line将避免此对话框(请注意双破折号).
| 归档时间: |
|
| 查看次数: |
2869 次 |
| 最近记录: |