Tags: nunit/nunit
Tags
Add files to support AI agent coding (#5225) * Add AGENTS.md for AI coding agent guidance (#5197) Per-change checklist covering build/test gate, scope discipline, and clean-build-no-warnings rule. Lists the CLI tools an agent needs (with install commands and a stop-and-ask-the-user escape hatch when elevation is required) and the project conventions — central package management and the Mono-runs-NETFRAMEWORK caveat — that apply to every PR. Skill-scoped guidance is intentionally left out; those will land as separate .claude/skills/ entries. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Add initial .claude/skills for NUnit AI agent guidance (#5197) Four skills covering the domains where contributor mistakes cluster in review, scoped so the harness loads each only when the task matches: - nunit-api-design: public surface, binary compatibility, attribute conventions, additive interface extension over interface growth. - nunit-testing: nameof over magic strings, TestCase/Values over Theory, private test helpers, test project layout (real vs. fixture projects), regression-test naming. - nunit-threading-and-async: no blocking in async, TestExecutionContext AsyncLocal semantics, Thread.Abort feature gating, async-void scope with event-handler exception, task cancellation scope (tests vs. framework internals), ValueTask guidance. - nunit-code-style: taste-and-judgment rules the build doesn't enforce — exception values, simplification, is not null, StringComparison. Ordinal, descriptive names, var usage, positive predicates without hallucinating wrapper methods. Rules already enforced by .editorconfig, StyleCop, or IDE analyzers are intentionally excluded from skill bodies; the build is the single source of truth for those. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Update AGENTS.md: simplify tool requirements, strengthen rules (#5197) - Simplify "Required CLI tools" to just .NET SDK (git assumed; gh, mono, pwsh/bash removed as not strictly required per-change). - Add per-OS install-failure error messages. - Tighten scope rule: "No unnecessary refactoring". - Strengthen the intentionally-failing-fixtures warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Add nunit-performance and nunit-build-infra skills (#5197) - nunit-performance: hot-path conventions — reflection caching per Type, lazy allocation, direct iteration over LINQ, stackalloc vs ArrayPool thresholds, value-type boxing avoidance, deferred diagnostic-string formatting, and the team's BenchmarkDotNet expectation for performance claims. - nunit-build-infra: editing patterns for csproj/nuspec/props/targets and CI — the two-file central-package-management pattern, MinVer versioning (don't touch AssemblyVersion), props-vs-targets split, nuspec/csproj consistency enforced by NuspecDependenciesTests.cs, target authoring conventions, and common IDE-noise cleanup tasks. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Apply suggestions from code review Co-authored-by: Terje Sandstrom <terje@hermit.no> --------- Co-authored-by: Joel Dickson <joeldickson@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Terje Sandstrom <terje@hermit.no>
Add generic SameAs method and more test coverage of edge cases (#5134) * Add generic method and more test coverage of edge cases * Apply feedback * Restore immutability to SameAs. Explicitly intern strings rathre than relying on assembly baking const into their data section.
Add generic SameAs method and more test coverage of edge cases (#5134) * Add generic method and more test coverage of edge cases * Apply feedback * Restore immutability to SameAs. Explicitly intern strings rathre than relying on assembly baking const into their data section.
PreviousNext