Repository navigation
Releases: nowsprinting/test-framework.analyzers
Releases · nowsprinting/test-framework.analyzers
Release list
v1.4.3
What’s Changed
🐛 Bug Fixes
- Clarify UTF2006 fix guidance on NUnit2046 conflict by @nowsprinting in #61
🧰 Maintenance
- Change run pr-labeler to on pr open only by @nowsprinting in #60
v1.4.2
What’s Changed
🐛 Bug Fixes
- Exclude Editor-only tests from UTF2006 by @nowsprinting in #57
🧰 Maintenance
- Fix rule order in AnalyzerReleases.Shipped.md by @nowsprinting in #58
v1.4.1
What’s Changed
🐛 Bug Fixes
- Fix UTF4001/UTF4002 false positive on waits canceled by a scheduled CancellationTokenSource by @nowsprinting in #55
v1.4.0
What’s Changed
🦑 Features
- Add UTF1009: Only IEnumerator is supported as the return type of methods with the UnitySetUp, UnityTearDown, UnityOneTimeSetUp, and UnityOneTimeTearDown attributes by @nowsprinting in #53
- Add UTF1008: Only IEnumerator is supported as the return type of methods with the UnityTest attribute by @nowsprinting in #52
- Add UTF2006: property lookups by name that managed code stripping can remove by @nowsprinting in #51
- Add UTF4007: recommend async Task SetUp and TearDown over UnitySetUp and UnityTearDown by @nowsprinting in #50
- Add UTF4006: recommend async Task test methods over coroutine-style tests by @nowsprinting in #48
- Add UTF4005: hide MonoBehaviour test doubles from the Add Component picker by @nowsprinting in #47
- Add UTF4004: fixed-time waits in test, setup, and teardown methods by @nowsprinting in #46
🐛 Bug Fixes
- Cache helper walk results across test methods in UTF4001-4004 and UTF4006 by @nowsprinting in #49
v1.3.0
What’s Changed
🦑 Features
- Add UTF1006 and UTF1007: only Task is supported as an async return type by @nowsprinting in #44
- Add UTF4003 for synchronous busy-wait loops by @nowsprinting in #43
- Add UTF4002: waits for a condition in setup and teardown methods must have a time limit by @nowsprinting in #41
- Add UTF4001: test methods that wait for a condition must have a Timeout attribute by @nowsprinting in #40
🐛 Bug Fixes
- Treat Timeout-chained UniTask waits and deadline loops as bounded in UTF4001 and UTF4002 by @nowsprinting in #42
- Improve analyzer performance on large fixtures by @nowsprinting in #39
🧰 Maintenance
- Add glossary and align rule spec wording with it by @nowsprinting in #38
v1.2.0
What’s Changed
🦑 Features
- Add UTF5003 and UTF5004: require AttributeUsage on action attributes by @nowsprinting in #36
- Add UTF5002: Implementing IWrapTestMethod and IWrapSetUpTearDown is not recommended by @nowsprinting in #33
🧰 Maintenance
- Note that UTF1005 is a false positive for IEnumerableTestMethodCommand wrappers on UTF 1.8.0 by @nowsprinting in #35
- Add a Severity column to the diagnostics tables in README by @nowsprinting in #34
v1.1.1
What’s Changed
🧰 Maintenance
- Clarify diagnostic messages with consequence and alternative by @nowsprinting in #31
- Fix README.md by @nowsprinting in #30
- Fix package description and README.md wording by @nowsprinting in #29
v1.1.0
What’s Changed
🦑 Features
- Add UTF3006 suppressor for VSTHRD200 on test methods by @nowsprinting in #26
- Add UTF3005 to suppress CA1707 on test methods by @nowsprinting in #25
- Bundle NUnit.Analyzers instead of depending on nunit.analyzers.unity by @nowsprinting in #21
🧰 Maintenance
- Tidy up the suppressor test plumbing by @nowsprinting in #27
- Migrate release-drafter exclude-labels into a pre-exclude category by @nowsprinting in #24
- Migrate release-drafter version-resolver into categories by @nowsprinting in #23
- Migrate release-drafter config and replace pr-labeler-action by @nowsprinting in #22
v1.0.1
What’s Changed
🧰 Maintenance
- Build analyzer DLL in release PR workflow by @nowsprinting in #19
- Dispatch build workflow after tagging so the publish job runs by @nowsprinting in #18
- Rename NuGet package ID to "UTFAnalyzers" and display name to "UTF Analyzers" by @nowsprinting in #17
v1.0.0
What’s Changed
Added
| Rule ID | Category | Severity | Notes |
|---|---|---|---|
| UTF1001 | Structure | Error | TestCase and TestCaseSource attributes are not supported on coroutine-style test methods |
| UTF1002 | Structure | Error | Task is not supported as a test method return type |
| UTF1003 | Structure | Error | Pairwise, Sequential, and Combinatorial attributes are not supported on coroutine-style test methods |
| UTF1004 | Structure | Error | OneTimeSetUp and OneTimeTearDown attributes are not supported on async methods |
| UTF1005 | Structure | Error | Attributes implementing ICommandWrapper are not supported on async and coroutine-style test methods |
| UTF2001 | Assertion | Error | Assert.ThrowsAsync, CatchAsync, and DoesNotThrowAsync are not supported |
| UTF2002 | Assertion | Error | Async delegates are not supported as the actual value of Throws constraints, Assert.Throws, Assert.Catch, and Assert.DoesNotThrow |
| UTF2003 | Assertion | Error | Async delegates are not supported as the actual value of the constraint model |
| UTF2004 | Assertion | Error | Only TestDelegate is supported as the actual value of the AllocatingGCMemory constraint |
| UTF2005 | Assertion | Error | DelayedConstraint is not supported |
| UTF5001 | Extensions | Error | ApplyToTest, ApplyToContext, and Wrap must not throw exceptions |