【发布时间】: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