# 本机环境坑 + 测试基线 ## 环境坑(本机特有) - **编译/测试 fms-api 唯一可行命令**(`start.cmd` 里的 JDK/Maven 路径都是坏的): ``` cd /d/workspace/code/fms/fms-api && /d/devtool/jdk/jdk21/bin/java \ -Dclassworlds.conf="D:/devtool/maven/bin/m2.conf" -Dmaven.home="D:/devtool/maven" \ -Dmaven.multiModuleProjectDirectory="D:/workspace/code/fms/fms-api" \ -cp "D:/devtool/maven/boot/plexus-classworlds-2.11.0.jar" \ org.codehaus.plexus.classworlds.launcher.Launcher -o -Dtest=XxxTests test ``` 本地仓库是 `D:\data\maven`(不是 ~/.m2);联网下载去掉 `-o`;`target/` 被 git 跟踪,编译后有噪音。 - 无 sqlcmd/pyodbc/pymssql:用 `fms-api/tools/migration/RunSqlFile.java` 或一次性 `SqlRunner.java` + JDBC jar(`~/.m2/.../mssql-jdbc-13.4.0.jre11.jar`)+ `/d/devtool/jdk/jdk17/bin/java`。 脚本要按行首 `GO` 分批,路径传绝对路径。 - `vite build` 被 safe-delete 守卫拦(要删 600+ 文件):用 `--outDir dist-verify --emptyOutDir`; 清理用 `find dist-verify -type f -delete` 再 `find dist-verify -type d -empty -delete`。 - `oxfmt --check` 全仓库都报 format issues(版本漂移),**不是自己引入的**,别顺手格式化整个仓库。 - 本工作区可能被多会话同时编辑,验证失败项先用 `find -mmin -N` 确认是否自己引入。 ## 测试基线(既有失败,别去修) - 后端 `OrgDataSourceFactoryTests.databaseConnectionFailureDoesNotRetry`(断言 Druid retry=0,实测 1)。 - 前端 `tests/unit/fms-module-list-page.spec.js` 里引用 `.filter-drawer`/`.filter-row__*` 的用例 (类名已不存在,是高级查询面板改版后的过期断言)—— 另有约 13 个长期失败基线。 - `tests/helpers/app.js` 的 `mountPage` 用 shallowMount 且默认打桩子组件:给 `Splitter`/`SplitterPanel` 打桩时键名要写 **Vue 推断名 `'splitter'`/`'panel'`**(文件名小写),写 `'SplitterPanel'` 打不上桩; 自定义组件传 `false` 可强制真实挂载。`global` 会整体覆盖内部 stubs,别在里面再写 stubs。