-
Notifications
You must be signed in to change notification settings - Fork 160
Run with Configuration
You can run tests with custom configuration. The configuration can be specified in settings.json using the key java.test.config.
It's recommended to save the test configuration as workspace settings. To open workspace settings, run command
Preferences: Open Workspace Settings (JSON).
Here is an example of the configuration schema:
"java.test.config": [
{
"name": "myConfiguration",
"workingDirectory": "${workspaceFolder}",
"vmargs": [ "-Xmx512M" ],
"env": { "key": "value" },
},
{
// Another configuration item...
},
...
]Note: The commands
Run With ConfigurationandDebug With Configurationare removed from version0.14.0. The extension will let you select the configuration if it detects there are customized configuration available.
The value of java.test.config is an object or an object array, each object is a configuration item, which may have the following properties:
| Property Name | Description | Default Value | Since |
|---|---|---|---|
args |
Specify the command line arguments which will be passed to the test runner | [] | 0.14.0 |
classPaths |
The classpaths defined in this setting will be appended to the resolved classpaths | [] | 0.33.0 |
coverage |
The configurations for test coverage | {} | 0.41.0 |
coverage.appendResult |
Whether the coverage result is appended. | true | 0.41.0 |
env |
Specify the extra environment variables when running the tests | {} | 0.14.0 |
envFile |
Specify the absolute path to a file containing environment variable definitions | {} | 0.33.0 |
filters |
Specify the test filters | {} | 0.37.0 |
filters.tags |
Specify the tags to be included or excluded. Tags having ! as the prefix will be excluded. Note: This setting only takes effect when testKind is set to junit
|
[] | 0.37.0 |
javaExec |
The path to java executable to use. For example: C:\Program Files\jdk\bin\java.exe. If unset project JDK's java executable is used. |
"" | 0.40.0 |
modulePaths |
The modulepaths defined in this setting will be appended to the resolved modulepaths | [] | 0.33.0 |
name |
Specify the name of the configuration item | "" | 0.14.0 |
postDebugTask |
Specify the label of a task specified in tasks.json (in the workspace's .vscode folder). The task will be launched at the very end of testing. | "" | 0.39.0 |
preLaunchTask |
Specify the label of a task specified in tasks.json (in the workspace's .vscode folder). The task will be launched before the start of testing | "" | 0.33.0 |
sourcePaths |
Specify the extra source paths when debugging the tests | [] | 0.22.4 |
testKind |
Specify the targeting test framework for this test configuration. Supported values are junit, testng
|
"junit" | 0.37.0 |
vmArgs |
Specify the extra options and system properties for the JVM | [] | 0.25.0 |
when |
The when clause for matching tests by to determine if the configuration should be run with | "" | 0.41.0 |
workingDirectory |
Specify the working directory when running the tests | <PROJECT_ROOT_PATH> | 0.14.0 |
When you have custom configurations, you'll be asked to pick one every time when running/debugging your test cases. To avoid that, you can use java.test.defaultConfig and set its value to the name of a configuration.
If you want to bypass any existing configurations, you can use the built-in configuration named "default" which has the following definition:
{
"name": "default",
"workingDirectory": "${workspaceFolder}"
}