Files
ft/CodexOutput/upserver/验证入口.md

79 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 验证与执行入口
## 编辑器工具入口更新(2026-09-21)
已将UnitySkills替换为Unity CLI Loop 2.2.0,编译/连接/日志/层级/截图验证通过;详见[移植验收](UnityCliLoop移植验收-2026-09-21.md)和[操作入口](UnityCliLoop操作入口.md)。旧Python REST脚本与历史日志仅供追溯,不继续用于当前项目自动化。所有CLI命令显式指定`--project-path C:/projects/ft/Client`。
在 PowerShell 中以 C:/projects/ft 为工作目录。下面是可重跑入口,不意味着本轮已经运行。
本轮最小登录范围最终证据见《仅最小登录-最终验收.md》,独立review见《仅最小登录-限定代码审查.md》。最新新增测试:
```powershell
python CodexOutput/upserver/HomeLoginTests/generate.py
dotnet run --project CodexOutput/upserver/HomeLoginTests/HomeLoginTests.csproj --verbosity quiet
python CodexOutput/upserver/LoginActTests/generate.py
dotnet run --project CodexOutput/upserver/LoginActTests/LoginActTests.csproj --verbosity quiet
```
LoginActTests执行从实际PF/Agg入口提取的流程和UserService.Logout,SDK/引擎为替身;它不替代真实渠道换号、Unity场景切换或SDK全局账号状态。正式服测试`--live`目前为101→101→102→101,每轮独立Cookie、授权只读Get、raw Hub Test和释放;不执行KV写删。
```powershell
$env:DOTNET_CLI_HOME='C:/projects/ft/CodexOutput/dotnet-home'
$env:APPDATA='C:/projects/ft/CodexOutput/dotnet-appdata'
dotnet run --project CodexOutput/upserver/MinimalLoginTests/MinimalLoginTests.csproj --verbosity quiet
python CodexOutput/upserver/LoginRegression/generate.py
dotnet run --project CodexOutput/upserver/LoginRegression/LoginRegression.csproj --verbosity quiet
git diff --check
```
独立登录及只读探测(先构建上述MinimalLoginTests,联网权限受环境限制,必要时请求工具级网络放行,不绕过限制):
```powershell
dotnet CodexOutput/upserver/MinimalLoginTests/bin/Debug/net9.0/MinimalLoginTests.dll --live
```
该命令会使用101/102登录及Get;不要把它作为KV写入/删除/隔离验收。
Unity引用检查:MinimalLoginTests/UnityReferenceCheck.csproj只检查独立认证/编辑器窗口子集,不能验证整个游戏。
历史HotUpdate源码编译使用MinimalLoginTests/RuntimeCompile.rsp(本机生成、被忽略)及RuntimeCompile.log;接手者需要按最新Client/HotUpdate.csproj重新生成源文件、DefineConstants、Reference/HintPath、ProjectReference对应Library/ScriptAssemblies引用,并包含新文件。不能仅复用旧DLL声称新代码通过。Unity真实导入/编译和场景验证优先,运行时Roslyn编译不替代它。
源码检索示例:
```powershell
rg -n 'UserId|ApiPlayerId|CustomId|PlayFabId|InternalId' Client/Assets/Scripts/Services
rg -n 'UpdateUserData|GetUserData|SyncDataImmidiate' Client/Assets/Scripts
```
暂不要把KVContractTests作为通过门:它是依赖尚未实现生产类的骨架。实现前先核对原Program与csproj,避免沿用过时假设。
## 2026-09-21新增收尾入口
```powershell
dotnet run --project CodexOutput/upserver/RealtimeTests/RealtimeTests.csproj --verbosity quiet
python CodexOutput/upserver/MinimalLoginTests/generate_runtime_compile.py
```
RealtimeTests使用真实RTService源代码和替身Hub,不联网。MinimalLoginTests --live现包含raw WebSocket直连与Test只读调用。编译rsp生成器已落盘;需再用本机csc执行生成的rsp,不能仅生成rsp就视为编译通过。
## F1/F2/F3回归入口
```powershell
dotnet run --project CodexOutput/upserver/ExitTests/ExitTests.csproj --verbosity quiet
python CodexOutput/upserver/ClubRegression/generate.py
dotnet run --project CodexOutput/upserver/ClubRegression/ClubRegression.csproj --verbosity quiet
```
ExitTests编译实际QuitAct;ClubRegression提取生产受改方法与DTO,依赖为替身。两者不等同真实SDK/Unity UI验收,不访问生产服务。
## 2026-09-21 ULoop实际回归与新增定向测试
最新矩阵见UnityCliLoop最小登录验收-2026-09-21.md。run_uloop_reentry.ps1仅在正确项目处于PlayMode登录输入阶段时执行,会操作授权测试账号101/102,经过真实QuitStage路径,不清缓存。它遇到错误即停;运行前保存上一轮uloop-final-*证据,避免覆盖失败历史。
新增测试入口:
```powershell
python CodexOutput/upserver/LoginActTests/generate.py
dotnet run --project CodexOutput/upserver/LoginActTests/LoginActTests.csproj --verbosity quiet
dotnet run --project CodexOutput/upserver/ExitTests/ExitTests.csproj --verbosity quiet
dotnet run --project CodexOutput/upserver/ReentryTests/ReentryTests.csproj --verbosity quiet
python CodexOutput/upserver/LogoutStorageTests/generate.py
dotnet run --project CodexOutput/upserver/LogoutStorageTests/LogoutStorageTests.csproj --verbosity quiet
python CodexOutput/upserver/HomeExitTests/generate.py
dotnet run --project CodexOutput/upserver/HomeExitTests/HomeExitTests.csproj --verbosity quiet
```
先使用本文上方工作区DOTNET_CLI_HOME/APPDATA环境配置;不要把NuGet权限错误当作生产编译失败。测试只使用本地替身,不执行KV写删或上传正式存档。