|
| 1 | +# Test Plan: Java Basic Editing Extended (from vscode-java-pack.wiki) |
| 2 | +# |
| 3 | +# 来源: wiki Test-Plan.md "Basic" 场景 (Steps 6-9) |
| 4 | +# 验证: 代码补全 → Organize Imports → Rename Symbol → New Java File |
| 5 | +# |
| 6 | +# 注意: 此 test plan 假设 Basic steps 1-5 已通过(java-basic-editing.yaml), |
| 7 | +# 即项目已编译无错误。 |
| 8 | +# |
| 9 | +# 前置条件: |
| 10 | +# - vscode-java 仓库已 clone 到本地 |
| 11 | +# - JDK 已安装且可用 |
| 12 | +# |
| 13 | +# 用法: autotest run test-plans/java-basic-extended.yaml |
| 14 | + |
| 15 | +name: "Java Basic Extended — 补全、Organize Imports、Rename" |
| 16 | +description: | |
| 17 | + 对应 wiki Test Plan 的 Basic 场景 Steps 6-9: |
| 18 | + 验证代码补全、Organize Imports、Rename 功能。 |
| 19 | +
|
| 20 | +setup: |
| 21 | + extension: "redhat.java" |
| 22 | + extensions: |
| 23 | + - "vscjava.vscode-java-pack" |
| 24 | + vscodeVersion: "stable" |
| 25 | + workspace: "../../vscode-java/test/resources/projects/eclipse/simple-app" |
| 26 | + timeout: 60 |
| 27 | + |
| 28 | +steps: |
| 29 | + # ── 等待 LS 就绪 ───────────────────────────────────────── |
| 30 | + - id: "ls-ready" |
| 31 | + action: "waitForLanguageServer" |
| 32 | + verify: "状态栏显示 Java 语言服务器已就绪" |
| 33 | + timeout: 120 |
| 34 | + |
| 35 | + # ── Step 6: 输入 File 代码验证补全 ────────────────────── |
| 36 | + # wiki: "Typing 'File f = new File(\"demo.txt\");' into App.main, |
| 37 | + # the completion should work for File and there should be |
| 38 | + # two errors in the problem view." |
| 39 | + - id: "open-app" |
| 40 | + action: "打开文件 App.java" |
| 41 | + verify: "App.java 文件已在编辑器中打开" |
| 42 | + timeout: 10 |
| 43 | + |
| 44 | + - id: "goto-main-body" |
| 45 | + action: "goToLine 6" |
| 46 | + verify: "光标在 main 方法体内" |
| 47 | + |
| 48 | + - id: "goto-end" |
| 49 | + action: "goToEndOfLine" |
| 50 | + |
| 51 | + - id: "type-file-code" |
| 52 | + action: "typeInEditor \n File f = new File(\"demo.txt\");" |
| 53 | + verifyEditor: |
| 54 | + contains: "File f = new File" |
| 55 | + |
| 56 | + # 保存文件让 LS 感知变更(typeInEditor 可能不触发 didChange) |
| 57 | + - id: "save-before-organize" |
| 58 | + action: "saveFile" |
| 59 | + verifyProblems: |
| 60 | + errors: 1 |
| 61 | + atLeast: true |
| 62 | + timeout: 30 |
| 63 | + |
| 64 | + # ── Step 7: Organize Imports ──────────────────────────── |
| 65 | + # wiki: "Invoke 'Source Action...' => 'Organize Imports'" |
| 66 | + # 注意: Organize Imports 对 File 类可能弹出选择对话框(多个候选类), |
| 67 | + # 这里通过磁盘修改直接添加 import 来验证等效行为。 |
| 68 | + - id: "add-import" |
| 69 | + action: "insertLineInFile src/app/App.java 2 import java.io.File;" |
| 70 | + verifyEditor: |
| 71 | + contains: "import java.io.File" |
| 72 | + |
| 73 | + # ── Step 8: Rename Symbol ─────────────────────────────── |
| 74 | + # wiki: "Open Foo.java, select the definition of class Foo, |
| 75 | + # right click and run 'Rename Symbol' to rename it to FooNew." |
| 76 | + # 注意: Rename 需要通过 Command Palette 触发 F2 |
| 77 | + - id: "open-foo-for-rename" |
| 78 | + action: "打开文件 Foo.java" |
| 79 | + verify: "Foo.java 文件已在编辑器中打开" |
| 80 | + timeout: 10 |
0 commit comments