VS CodeでJavaの結合テスト(*IT.java)で「Go To Test Subject」を使用したい
解決したいこと
Visual Studio CodeでJavaSE-21を使ってSpringBootの勉強をしています。その中で、結合テストの命名を*IT.javaとしてユニットテスト(*Test.java)と同じディレクトリに格納する構成をとっています。テストファイルを編集中の話になるのですが、エディタ画面の右クリックから選択できる「Go To Test Subject」でユニットテストの場合は有効にテスト対象を認識して遷移ができるのですが、結合テストの場合は「Test Subjects not found for current file」となり、「Search file」を選んでから、手動でテストクラス名末尾のITを削除して開く必要があります。結合テストでもユニットテストと同様に一発でテスト対象に遷移できる設定方法をご存じの方がいらっしゃいましたら、ご教示いただけますと幸いです。
プロジェクトディレクトリの構成
.
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── xxx
│ │ │ └── xxx
│ │ │ └── xxx
│ │ │ └── app
│ │ │ ├── AppApplication.java
│ │ │ └── presentation
│ │ │ └── controller
│ │ │ └── RootController.java
│ │ └── resources
│ └── test
│ └── java
│ └── xxx
│ └── xxx
│ └── xxx
│ └── app
│ ├── AppApplicationIT.java
│ └── presentation
│ └── controller
│ ├── RootControllerIT.java
│ └── RootControllerTest.java
自分で試したこと
- 拡張機能パックExtension Pack for Java内のTest Runner for Java拡張機能のGiyHubリポジトリで「IT.java」や「*IT.java」でissueを検索 → ヒットした件数は0件
- AIに質問 → 架空の.vscode/settings.json(java.test.testKindPatternsやjava.test.testMapping)の設定が回答される
開発環境
OSはWindowsでDevContainerを使ってDockerコンテナ内で開発する環境
- Windows11 Pro
- Visual Studio Code(ver.1.106.0)
- Dev Containers(ver.0.431.1)
- Java環境はmaven:3.9.11-eclipse-temurin-21-nobleのコンテナイメージから作成
使用中のVSCode拡張機能
- Extension Pack for Java(ver.0.30.4)
- Spring Boot Extension Pack(ver.1.64.1)
使用中のテストツール依存関係
- org.springframework.boot:spring-boot-starter-test:3.5.7
- org.junit.jupiter:junit-jupiter:5.12.2
VSCode設定項目
"settings": {
"java.configuration.runtimes": [
{
"name": "JavaSE-21",
"path": "/opt/java/openjdk",
"default": true
}
],
"java.jdt.ls.java.home": "/opt/java/openjdk",
"java.configuration.updateBuildConfiguration": "automatic",
"java.compile.nullAnalysis.mode": "automatic"
"search.exclude": {
"**/target": true,
"mvnw": true,
"mvnw.cmd": true,
"eclipse-java-google-style.xml": true
},
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/.git/logs/**": true,
"**/target": true,
"mvnw": true,
"mvnw.cmd": true,
"eclipse-java-google-style.xml": true
},
"java.test.config": [
{
"name": "Unit Tests",
"testKind": "junit",
"filters": {"tags": ["!integration"]}
},
{
"name": "Integration Tests",
"testKind": "junit",
"filters": {
"tags": ["integration"],
"name": [".*IT"]
}
},
{
"name": "All Tests",
"testKind": "junit"
}
],
"java.test.defaultConfig": "All Tests"
0 likes

