java - 在 VS Code 中哪里设置 JUnit 的 vmArgs?

标签 java unit-testing visual-studio-code junit

我有一个包含大量单元测试的 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 基础设施中的东西完全不同。

参见:

另请参阅:


tasks.json

(对于“构建任务”(也可以是测试)): https://code.visualstudio.com/docs/editor/tasks .

关于java - 在 VS Code 中哪里设置 JUnit 的 vmArgs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70570768/

相关文章:

java - 需要 Java 相当于 php 中的 pack ("H32", param)

java - If 语句中的不兼容类型

typescript - 您如何模拟 Apollo Server RESTDataSource 以使用 Jest 进行单元测试?

visual-studio-code - vscode 获取对象属性到建议顶部

c# - 特征递归模式目前在 Vs Code 的预览版中

visual-studio-code - 找不到 Remote.SSH : Remote Server Listen On Socket in my local VS Code User settings

java - 从 HashMap 中删除值

java - 在 SWING 中代表车辆

unit-testing - 如何在vue测试用例中传递screen.height和screen.width | Jest 框架

unit-testing - ORM相关对象的单元测试