2017-11-17 350 views
0

我在Mac OS上为Eclipse开发人员使用Eclipse Oxygen。我已将我的Maven项目导入到IDE中。通常情况下,在命令行,当我运行一个测试,我将运行像如何在eclipse中运行JUnit测试的行为与在命令行上运行Maven测试的行为相同?

mvn test -Dtest=UserServiceTest 

除了运行“测试”的目标,这也将在“过程 - 执行一些自定义代码我有资源“和”测试编译“目标。但是,当我在Eclipse IDE中运行我的测试时(通过右键单击包资源管理器中的类名称,选择“运行”然后选择“JUnit测试”),我注意到这些其他目标未运行。

有没有一种方法来全局设置我的项目,以便当我运行JUnit测试时,它会像输入上面的命令一样自动运行?我意识到我可以单独编辑每个测试的运行配置,但是由于我有数百个,所以这将需要很多工作,并且每次我创建一个新测试时都必须执行它。如果有一些全球性的方式来设置Eclipse来为我完成这将是非常棒的。

+1

也许运行,因为maven构建会帮助你。 maven和eclipse不能很好地协同工作..所以我建议eighter用maven(命令行或者maven构建)运行你的测试,或者找到另一个设置你的测试的解决方案,也许@BeforeClass可以帮助你? – IEE1394

+0

是的,但运行Mvaen在命令行编译时不允许设置断点和轻松排除故障,除非有可以简化所有这些操作的anotehr(免费)IDE。 – Dave

+0

您可以使用'mvnDebug'命令来获取可调试的Maven会话,您可以将其附加到您的调试器。 –

回答

1

目前,Eclipse拥有没有这样的内置工作区或项目设置/首,我不知道所需功能的任何插件。

所谓的Launch Configuration Templates/Prototypes(另见Eclipse bug 41353)目前正在开发中,预计将与Eclipse Photon on June 27, 2018一起发货。

考虑更改测试,以便它们可以在本地机器上运行而不需要其他参数,例如, G。通过@BeforeClass(JUnit 4)或@BeforeAll(JUnit 5)。

无解,但提示如何避免在这种情况下点击几下鼠标:

  • 要打开和编辑启动配置,按Ctrl键,并单击或选择运行按钮或启动配置菜单项。
  • 使用Eclipse Runner插件。
+0

关于“考虑改变你的测试,使它们可以在没有附加参数的情况下在本地机器上运行”,这是不可能的,这就是我提出这个问题的原因。 – Dave

+0

@Dave不幸的是,Eclipse Bug 41353的变化还没有被应用。一旦应用完成,您可以在2018年6月27日发布之前(每晚集成版本)[http://download.eclipse.org/eclipse/downloads/]对其进行测试。 – howlger