A Task is not a bug or feature request
Problem
The test discoverer uses Mono.Cecil to scan for test classes by matching the class file name with the class name. When these don't match, tests are not discovered, leading to silent test failures.
Requirements
Create a static code analyzer that:
- Validates naming consistency - Ensures C# class names match their file names (without extension)
- Targets test classes specifically - Focus on classes decorated with [TestSuite] or similar test attributes
- Provides clear diagnostics - Show helpful error messages when mismatches are found
- Suggests fixes - Offer code fixes to rename either the file or class
Acceptance Criteria
[ ] Analyzer detects when ClassName.cs contains class DifferentName
[ ] Provides diagnostic with severity level Error ,includes helpful message: "Class name 'DifferentName' should match file name 'ClassName' for test discovery to work"
[ ] Only analyzes files in test projects or files with test attributes
A Task is not a bug or feature request
Problem
The test discoverer uses Mono.Cecil to scan for test classes by matching the class file name with the class name. When these don't match, tests are not discovered, leading to silent test failures.
Requirements
Create a static code analyzer that:
Acceptance Criteria
[ ] Analyzer detects when ClassName.cs contains class DifferentName
[ ] Provides diagnostic with severity level Error ,includes helpful message: "Class name 'DifferentName' should match file name 'ClassName' for test discovery to work"
[ ] Only analyzes files in test projects or files with test attributes