首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在VSCode中将VM参数从launch.json传递给Junit Test类?

如何在VSCode中将VM参数从launch.json传递给Junit Test类?
EN

Stack Overflow用户
提问于 2020-02-10 18:16:02
回答 1查看 1K关注 0票数 1

我正在尝试使用JMockit模拟静态方法。我尝试运行的组合是Junit5、Jmockit1.41和带有VSCode的JDK11。最初,我在STS上运行java.lang.IllegalStateException: Running on JDK 9 requires -javaagent:<proper path>/jmockit-1.n.jar or -Djdk.attach.allowAttachSelf时得到了它。我通过在STS中将-Djdk.attach.allowAttachSelf作为vm参数传递解决了这个问题。这与STS一起工作得很好。

但是,当我尝试在VSCode中运行相同的源代码时,它抛出了相同的错误java.lang.IllegalStateException: Running on JDK 9 requires -javaagent:<proper path>/jmockit-1.n.jar or -Djdk.attach.allowAttachSelf。所以我编辑了java.jdt.ls.vmargs密钥,并在VSCode的settings.json文件中添加了-Djdk.attach.allowAttachSelf作为值。但它并没有起作用。我也尝试在launch.json中添加VMArgs。错误仍然存在。我试图通过pom.xml将-javaagent作为插件添加到argline标签中。但似乎什么都不起作用。

PS:我试过在settings.json中使用-javaagent。它也不起作用。代码(包含最少代码的简单静态方法)可以很好地与STS一起工作。如何让它与VSCode协同工作?

有没有人能建议如何将vmargs从launch.json传递到Junit Test类?还有别的选择吗?

EN

回答 1

Stack Overflow用户

发布于 2020-02-13 11:45:33

找出我做错了什么。在settings.json文件中,我试图在java.jdt.ls.vmargs中传递-Djdk.attach.allowAttachSelf参数。但是,这不适用于Junit测试用例。为了为Junit测试用例传递jvm,需要创建一个名为java.test.config的单独键。请参阅Junit的VSCode文档。

这为我解决了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60148185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档