【问题标题】:vsCode java.test.config vmArgs not workingvsCode java.test.config vmArgs 不工作
【发布时间】:2020-06-03 21:43:32
【问题描述】:

我的项目需要以下 vmArgs 才能运行:

"vmArgs": "-javaagent:lib/aspectjweaver-1.9.5.jar -javaagent:lib/spring-instrument-5.2.3.RELEASE.jar --module-path lib/javafx-sdk-13.0.2/lib --add-modules=javafx.controls"

把它放在launch.json 配置对象中可以让项目完美运行。对于单元测试,应该将相同的 vmArgs 放入 settings.json 的 java.test.config 对象中,如下所示:

{
    "java.test.config": 
    [
        {
            "name": "testConfig",
            "workingDirectory": "${workspaceFolder}",
            "vmArgs": "-javaagent:lib/aspectjweaver-1.9.5.jar -javaagent:lib/spring-instrument-5.2.3.RELEASE.jar --module-path lib/javafx-sdk-13.0.2/lib --add-modules=javafx.controls"
        }
    ],
    "java.test.defaultConfig": "testConfig"
}

这部分不工作。我的 JUnit 测试没有正确检测。我究竟做错了什么? vmArgs 行与我在 launch.json 中的内容完全相同。

【问题讨论】:

  • 有人在 vsCode 中从事单元测试需要 JVM 参数的 Java 项目吗?
  • 我没有在 Visual Studio 代码中使用过 JUnit 测试用例。但是,在将您的配置与code.visualstudio.com/docs/java/java-testing 的示例进行比较时,我注意到了差异——(i)JSON 结构(您已将数组用于java.test.config)和(ii)参数以逗号分隔的列表形式提供,并用方框括起来括号。这可能是一个原因吗?您收到的确切错误消息是什么?
  • 本身没有错误,但测试失败,因为在 Spring 上下文启动之前没有正确检测 JVM,因此说上下文甚至无法初始化。我看到了你链接的那个页面,我想我也尝试过,但我会再试一次。
  • 遗憾的是,这也不起作用:"vmArgs": ["-javaagent:lib/aspectjweaver-1.9.5.jar","-javaagent:lib/spring-instrument-5.2.3.RELEASE .jar","--module-path lib/javafx-sdk-13.0.2/lib","--add-modules=javafx.controls"]

标签: java visual-studio-code junit vscode-settings vmargs


【解决方案1】:

我认为这可能是由大写造成的。以前,它是 vmargs 而不是 vmArgs。但扩展已更改为在此 PR 中支持两者:https://github.com/microsoft/vscode-java-test/pull/1080

你现在还有这个问题吗?

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 2015-07-19
    • 1970-01-01
    • 2019-11-21
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2022-07-01
    相关资源
    最近更新 更多