Skip to content

Fix MSTEST0063 to detect invalid constructors on derived TestClass attributes by @Evangelink in #9851 (backport to rel/4.3) - #10115

Merged
Evangelink merged 1 commit into
microsoft:rel/4.3from
nohwnd-bot:backport/9851/to/rel/4.3
Jul 21, 2026
Merged

Fix MSTEST0063 to detect invalid constructors on derived TestClass attributes by @Evangelink in #9851 (backport to rel/4.3)#10115
Evangelink merged 1 commit into
microsoft:rel/4.3from
nohwnd-bot:backport/9851/to/rel/4.3

Conversation

@nohwnd-bot

Copy link
Copy Markdown
Contributor

Backport of #9851 to rel/4.3

/cc @Evangelink

…tributes

TestClassConstructorShouldBeValidAnalyzer used an exact-match check
(SymbolEqualityComparer.Default.Equals) for TestClassAttribute, so
derived attributes like [STATestClass] or custom [MyTestClass] were
silently skipped. MSTest discovers such classes at runtime via
Inherits() logic, so a private/internal constructor causes a runtime
failure but no analyzer warning.

Switch the guard to IsTestClass() (which uses Inherits()) to match
the runtime discovery logic, and add four tests covering derived
and custom TestClass attributes.

Fixes microsoft#9836

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d1590213-39c9-4b3d-9fa4-1d10ac4961cc
@Evangelink
Evangelink enabled auto-merge (squash) July 21, 2026 12:57
@Evangelink
Evangelink merged commit f517666 into microsoft:rel/4.3 Jul 21, 2026
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants