界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

dotnet-verify

dotnet-verify

【开发与工程】This skill should be used when working with Verify snapshot tests in .NET projects. Use when updating verified snapshots after intentional code changes, accepting new snapshots, discovering verify tests, or troubleshooting snapshot mismatches. Trigger phrases include "verify tests", "update snapshots", "accept snapshots", "verified files", ".verified…

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: dotnet-verify description: This skill should be used when working with Verify snapshot tests in .NET projects. Use when updating verified snapshots after intentional code changes, accepting new snapshots, discovering verify tests, or troubleshooting snapshot mismatches. Trigger phrases include "verify tests", "update snapshots", "accept snapshots", "verified files", ".verified.txt".

.NET Verify Snapshot Testing

Manage Verify snapshot tests using the verify.tool dotnet local tool.

Discovery

To list all test files using Verify snapshots:

rg -l "Verifier\.Verify|UsesVerify|\.verified\." --type cs

To scope to a specific directory:

rg -l "Verifier\.Verify|UsesVerify|\.verified\." --type cs <path/to/test/directory>

Update Snapshots

To update snapshots after intentional code changes:

  1. Build the solution:

    dotnet build -p:WarningLevel=0 /clp:ErrorsOnly --verbosity minimal
    
  2. Run affected verify tests (they fail, generating .received. files):

    dotnet test <test-project> --no-build --filter "FullyQualifiedName~<TestClass>" -v m
    
  3. Accept all new snapshots:

    dotnet verify accept -y
    

    To scope to a specific directory:

    dotnet verify accept -y -w <path/to/test/directory>
    
  4. Re-run tests to confirm they pass:

    dotnet test <test-project> --no-build --filter "FullyQualifiedName~<TestClass>" -v m
    

File Conventions

  • ClassName.MethodName.verified.txt — accepted snapshot (committed to git)
  • ClassName.MethodName.received.txt — latest test output (not committed, gitignored)
  • Parameterized tests: ClassName.MethodName_param=value.verified.txt

Quick Reference

CommandPurpose
dotnet verify accept -yAccept all pending snapshots
dotnet verify accept -y -w <dir>Accept snapshots in specific directory
rg -l "Verifier\.Verify|UsesVerify|\.verified\." --type csList all test files using Verify
我的收藏