更改默认"程序运行"在Eclipse启动配置中

时间:2015-06-04 11:36:19

标签: java eclipse junit eclipse-plugin ide

我不时地使用

从Eclipse中启动JUnit测试
  

运行方式> JUnit插件测试

默认情况下,Eclipse假设您正在运行需要工作台并在" Main"中选择的东西。启动配置部分

  

LaunchConfig>主要>程序运行>运行应用程序>   的 org.eclipse.ui.ide.workbench

我可以理解为什么这是默认值,但对于我(以及我们团队中的所有人)来说,情况永远不会如此。我们总是需要运行我们的JUnit插件测试

  

LaunchConfig>主要>程序运行>运行应用程序>    [无应用]无头模式

如何更改此默认行为? 我目前正在使用Eclipse 4.4。

4 个答案:

答案 0 :(得分:6)

似乎自定义 LaunchConfiguration -Extension是一种可行的解决方案尝试。 我所做的是创建一个新的自定义 LaunchConfiguration -Extension,它在 JUnitLaunchConfiguration 上构建了99.999%。我只需要添加自定义

BlaBlaJUnitPluginTestLauncher extends launching.JUnitLaunchConfigurationDelegate

覆盖

launch(ILaunchConfiguration, String, ILaunch, IProgressMonitor)

根据我们的需要调整应用参数的方法。

BlaBlaJUnitPluginTestTabGroup extends org.eclipse.pde.ui.launcher.JUnitTabGroup

为了能够使用默认参数初始化LaunchConfig对话框,我必须:

  1. 添加自定义BlaBlaPluginJUnitMainTab extends PluginJUnitMainTab
  2. 创建自定义JUnitProgramBlock实现(BlaBlaJUnitProgramBlock
  3. BlaBlaJUnitProgramBlock方法
  4. 中创建BlaBlaJUnitPluginTestTabGroup.BlaBlaPluginJUnitMainTab.createProgramBlock()的实例
  5. setDefaults
  6. 中覆盖BlaBlaJUnitProgramBlock - 方法(不确定是否真的有必要)
  7. 覆盖BlaBlaJUnitProgramBlock中的initializeForm-method并调整参数。
  8. 导致以下结果:

    enter image description here

答案 1 :(得分:6)

这个答案差点错过:

<击> 试试这个:

  1. 手动创建和配置一个&#34; good&#34;启动配置。
  2. 下次您要启动一项尚未具备良好启动配置的测试时:

    1. 选择文件并调用Run As > Run Configurations ...(即,尚未选择JUnit Plug-in Test!)
    2. 在该对话框中选择相同类型的良好启动配置,并...
    3. 然后点击New Launch Configuration(左上角)
    4. 现在新创建的配置应该&#34;继承&#34;来自良好配置的配置值。

      真相是:

      编辑2018:

      自Eclipse Photon以来,Java调试器支持launch configuration prototypes。我刚刚提交了Bug 536728来请求测试发布。随意加入(或贡献)该bug。

答案 2 :(得分:3)

如果您只是为了方便而寻找快捷方式,那么eclipse会记住上一次执行。使用run as并保存你的运行配置后,只需使用工具栏中的“运行方式”按钮。 除了这个日食带有测试者的味道,你可以检查出来。 此外,因为您正在谈论单元测试,看看您是否可以使用ant build甚至更好地转换为基于maven的项目。 Maven集成了测试支持。 enter image description here

答案 3 :(得分:2)

似乎有一个简单而有效的启发式方法,它决定了JUnit插件测试是否应该无头地运行或与应用程序一起运行:

确保包含测试的插件不依赖于任何org.eclipse.ui

  • 如果没有依赖关系,则默认情况下会为新创建的启动配置选择[No Application - Headless Mode]
  • 使用该依赖项,默认值为Run a product,s.t。像预先选择org.eclipse.platform.ide一样。