我有一个包含大量单元测试的 Java 项目。在 Visual Studio Code 中,我可以从“测试”选项卡运行所有测试。然而,有几个失败了,因为我需要提供一些必需的虚拟机参数才能使它们正常运行。我们使用 Maven 作为我们的构建系统。
我知道提供 VM 参数的语法,但我找不到 JUnit 测试的启动配置。我刚刚自动生成了一个 launch.json
,但它没有 Junit 配置。然而,VS Code 清楚地知道如何启动单元测试,因为当我告诉它执行该操作时(从“测试” Pane ),它会运行它们(甚至是那些出错的测试)。
这个答案( Visual Studio Code launch.json file for JUnit? )表明我可以右键单击单元测试来提供选项,但我得到的只是:
- 运行测试
- 调试测试
- 前往测试
- 隐藏测试
自动生成的 launch.json 非常基本。它生成的两个配置有点无用,因为它是一个库,而不是可执行程序。
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Launch Current File",
"request": "launch",
"mainClass": "${file}"
},
{
"type": "java",
"name": "Launch RunObject",
"request": "launch",
"mainClass": "com.ourcompany.RunObject",
"projectName": "OurCommon"
}
]
}
在哪里设置单元测试的虚拟机参数?
最佳答案
对于 Java 测试
(从编辑器运行,)我们可以使用“java.test.config”!
使用此 settings.json
:
{
"java.test.config": {
"vmArgs": ["-Dfoo=bar", "-Dbar=baz"]
},
...
此测试成功:
@Test
public void testFoo() {
assertEquals("bar", System.getProperty("foo"));
assertEquals("baz", System.getProperty("bar"));
}
(从编辑器运行)。
请参见此处:https://code.visualstudio.com/docs/java/java-testing
..与完全不同:
launch.json
它在哪里(也):
...,
"vmArgs": "-Dfoo=bar"
...
..但是 vs code 基础设施中的东西完全不同。
参见:
- https://code.visualstudio.com/docs/java/java-debugging
- https://code.visualstudio.com/docs/editor/debugging#_launch-configurations
- https://code.visualstudio.com/docs/java/java-debugging#_configuration-options
另请参阅:
tasks.json
(对于“构建任务”(也可以是测试)): https://code.visualstudio.com/docs/editor/tasks .
关于java - 在 VS Code 中哪里设置 JUnit 的 vmArgs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70570768/