You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Seven Roslyn analyzers (CRSPEC0001–CRSPEC0007), bundled with Cratis.Specifications, Cratis.Specifications.XUnit and Cratis.Specifications.NUnit, that warn when:
a test method inside a specification is not named should_* (CRSPEC0001);
a file declares more than one specification (CRSPEC0002);
a [Fact]/[Test] is placed on a given context, where it never runs (CRSPEC0003);
a should_* method is missing its test attribute, so it never runs (CRSPEC0004);
a specification calls a base lifecycle method (base.Establish()/Because()/Destroy()) explicitly, running it twice (CRSPEC0005);
a specification that declares test methods is not public, so the runner skips it (CRSPEC0006);
the action under test (Because) is declared on a reusable given context (CRSPEC0007).
Both xUnit ([Fact]/[Theory]) and NUnit ([Test]/[TestCase]) test attributes are recognized.
Changed
The packages now target net8.0, net9.0 and net10.0, matching Arc and Chronicle.
Updated nunit to 4.6.1, Microsoft.NET.Test.Sdk to 18.7.0, and Microsoft.SourceLink.GitHub to 10.0.300.
Removed
Dropped the net48 target framework. Consumers on .NET Framework should remain on the previous release.
Fixed
The build workflow now installs the .NET 8/9/10 SDKs (it previously pinned an SDK that could not satisfy the repository's .NET 10 requirement) and runs the analyzer specs in CI.