‹ 首页

contoso-migration-test

@fritzandfriends · 收录于 昨天 · 上游提交 1 个月前

**WORKFLOW SKILL** — Execute end-to-end ContosoUniversity migration benchmark: clear output folder, run L1 script + L2 Copilot transforms, build, run Playwright acceptance tests, and generate a numbered run report. WHEN: "run contoso migration test", "test contoso university migration", "contoso migration benchmark", "run CU migration". INVOKES: migration-toolkit (scripts + skills), dotnet CLI, Playwright tests.

适合你,如果正在做 ContosoUniversity 迁移并需要自动化测试与报告

/ 通过 npx 安装 校验哈希
npx oh-my-skill add fritzandfriends/blazorwebformscomponents/contoso-migration-test
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- fritzandfriends/blazorwebformscomponents/contoso-migration-test
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify fritzandfriends/blazorwebformscomponents/contoso-migration-test
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
449GitHub stars
~926最小装载
~1.7K含声明引用
~1.7K文本包总量
索引托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 3154758

ContosoUniversity Migration Test

End-to-end migration benchmark that converts the ContosoUniversity Web Forms sample to Blazor Server and validates with 40 Playwright acceptance tests.

Paths

| Item | Path | |------|------| | Web Forms source | samples/ContosoUniversity/ContosoUniversity/ | | Blazor output | samples/AfterContosoUniversity/ | | L1 script | migration-toolkit/scripts/bwfc-migrate.ps1 | | Migration skills | migration-toolkit/skills/ (4 skills) | | Acceptance tests | src/ContosoUniversity.AcceptanceTests/ | | Run reports | dev-docs/migration-tests/contosouniversity/ |

Prerequisites
  • .NET 10 SDK
  • SQL Server LocalDB with ContosoUniversity database (attach samples/ContosoUniversity/ContosoUniversity.mdf if needed)
  • Playwright browsers installed (run pwsh bin/Debug/net10.0/playwright.ps1 install from test project after first build)
Workflow
Phase 0: Preparation
  1. Determine run number — Count existing runNN folders in dev-docs/migration-tests/contosouniversity/ and use the next sequential number
  2. Record start time — Capture wall-clock time for overall timing
  3. Clear output folder — Delete all contents of samples/AfterContosoUniversity/ but keep the directory itself
Phase 1: Layer 1 — Automated Script

Expected duration: < 2 seconds

  1. Start L1 timer
  2. Run the migration script: ```powershell .\migration-toolkit\scripts\bwfc-migrate.ps1 ` -Path samples\ContosoUniversity\ContosoUniversity ` -Output samples\AfterContosoUniversity ` -Verbose ```
  3. Stop L1 timer — record duration and transform count from script output
  4. Verify: .razor files created, no .aspx files in output
Phase 2: Layer 2 — Copilot-Assisted Transforms

Expected duration: 20–30 minutes

Load and apply the migration toolkit from migration-toolkit/:

  • Read migration-toolkit/README.md for the overall approach and key principles
  • Read migration-toolkit/skills/ — the toolkit contains all the skills needed for the repair phase; apply whichever skills are relevant to the errors and patterns encountered in the generated output

Key transforms to execute:

  • Convert code-behind lifecycle (Page_LoadOnInitializedAsync)
  • Wire SelectMethod as SelectHandler<ItemType> delegates (NOT Items=)
  • Create EF Core DbContext with SQL Server LocalDB connection
  • Create Program.cs with DI registration for all BLL services
  • Convert Site.MasterMainLayout.razor
  • Migrate BLL classes to use EF Core + DI (IDbContextFactory)
  • Wire all CRUD operations (Create, Read, Update, Delete) to UI
Phase 3: Build Validation
  1. Run dotnet build samples\AfterContosoUniversity\
  2. Fix compilation errors iteratively until 0 errors achieved
  3. Record final error and warning counts
Phase 4: Acceptance Tests
  1. Start the Blazor app in the background: ```powershell $env:ASPNETCORE_URLS = "http://localhost:44380" dotnet run --project samples\AfterContosoUniversity\ ```
  2. Wait for HTTP 200 from http://localhost:44380
  3. Run acceptance tests: ```powershell $env:CONTOSO_BASE_URL = "http://localhost:44380" dotnet test src\ContosoUniversity.AcceptanceTests\ --verbosity normal ```
  4. Record: total tests, passed, failed, skipped
  5. Stop the Blazor app
Phase 5: Report Generation
  1. Create dev-docs/migration-tests/contosouniversity/runNN/
  2. Generate REPORT.md using [REPORT-TEMPLATE.md](REPORT-TEMPLATE.md)
  3. All sections required — even failed runs get a full report
Critical Rules

| Rule | Detail | |------|--------| | Database | SQL Server LocalDB — never SQLite | | Connection | Server=(localdb)\mssqllocaldb;Database=ContosoUniversity | | SelectMethod | Preserve as SelectHandler<ItemType> delegate — never convert to Items= | | L1→L2 handoff | No manual fixes between layers — L2 starts from raw L1 output | | Report every run | Even failed/partial runs get a report documenting what went wrong | | ItemType | Use ItemType (not TItem) for all data-bound component type parameters |

Reference Documents
  • [REPORT-TEMPLATE.md](REPORT-TEMPLATE.md) — Standard report format with all required sections
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。