如何在eclipse中运行JUnit测试的行为与在命令行上运行Maven测试的行为相同?
问题描述:
我在Mac OS上为Eclipse开发人员使用Eclipse Oxygen。我已将我的Maven项目导入到IDE中。通常情况下,在命令行,当我运行一个测试,我将运行像如何在eclipse中运行JUnit测试的行为与在命令行上运行Maven测试的行为相同?
mvn test -Dtest=UserServiceTest
除了运行“测试”的目标,这也将在“过程 - 执行一些自定义代码我有资源“和”测试编译“目标。但是,当我在Eclipse IDE中运行我的测试时(通过右键单击包资源管理器中的类名称,选择“运行”然后选择“JUnit测试”),我注意到这些其他目标未运行。
有没有一种方法来全局设置我的项目,以便当我运行JUnit测试时,它会像输入上面的命令一样自动运行?我意识到我可以单独编辑每个测试的运行配置,但是由于我有数百个,所以这将需要很多工作,并且每次我创建一个新测试时都必须执行它。如果有一些全球性的方式来设置Eclipse来为我完成这将是非常棒的。
答
目前,Eclipse拥有没有这样的内置工作区或项目设置/首,我不知道所需功能的任何插件。
所谓的Launch Configuration Templates/Prototypes(另见Eclipse bug 41353)目前正在开发中,预计将与Eclipse Photon on June 27, 2018一起发货。
考虑更改测试,以便它们可以在本地机器上运行而不需要其他参数,例如, G。通过@BeforeClass
(JUnit 4)或@BeforeAll
(JUnit 5)。
无解,但提示如何避免在这种情况下点击几下鼠标:
- 要打开和编辑启动配置,按Ctrl键,并单击或选择运行按钮或启动配置菜单项。
- 使用Eclipse Runner插件。
也许运行,因为maven构建会帮助你。 maven和eclipse不能很好地协同工作..所以我建议eighter用maven(命令行或者maven构建)运行你的测试,或者找到另一个设置你的测试的解决方案,也许@BeforeClass可以帮助你? – IEE1394
是的,但运行Mvaen在命令行编译时不允许设置断点和轻松排除故障,除非有可以简化所有这些操作的anotehr(免费)IDE。 – Dave
您可以使用'mvnDebug'命令来获取可调试的Maven会话,您可以将其附加到您的调试器。 –