diff --git a/src/Analyzers/MSTest.Analyzers/AssemblyInitializeShouldBeValidAnalyzer.cs b/src/Analyzers/MSTest.Analyzers/AssemblyInitializeShouldBeValidAnalyzer.cs index 9f2ace7789..5e53581585 100644 --- a/src/Analyzers/MSTest.Analyzers/AssemblyInitializeShouldBeValidAnalyzer.cs +++ b/src/Analyzers/MSTest.Analyzers/AssemblyInitializeShouldBeValidAnalyzer.cs @@ -98,7 +98,7 @@ private static void AnalyzeSymbol(SymbolAnalysisContext context, INamedTypeSymbo if (methodSymbol.DeclaredAccessibility != Accessibility.Public || (!canDiscoverInternals && methodSymbol.GetResultantVisibility() != SymbolVisibility.Public) - || (canDiscoverInternals && methodSymbol.GetResultantVisibility() == SymbolVisibility.Private)) + || (canDiscoverInternals && methodSymbol.GetResultantVisibility() == SymbolVisibility.Private)) { context.ReportDiagnostic(methodSymbol.CreateDiagnostic(PublicRule, methodSymbol.Name)); } diff --git a/test/UnitTests/MSTest.Analyzers.UnitTests/AssemblyInitializeShouldBeValidAnalyzerTests.cs b/test/UnitTests/MSTest.Analyzers.UnitTests/AssemblyInitializeShouldBeValidAnalyzerTests.cs index c831bcbe0d..98767c2f8a 100644 --- a/test/UnitTests/MSTest.Analyzers.UnitTests/AssemblyInitializeShouldBeValidAnalyzerTests.cs +++ b/test/UnitTests/MSTest.Analyzers.UnitTests/AssemblyInitializeShouldBeValidAnalyzerTests.cs @@ -51,6 +51,29 @@ public static void AssemblyInitialize(TestContext context) await VerifyCS.VerifyAnalyzerAsync(code); } + public async Task WhenAssemblyInitializeIsInternal_InsidePublicClassWithDiscoverInternals_Diagnostic() + { + var code = """ + using Microsoft.VisualStudio.TestTools.UnitTesting; + + [assembly: DiscoverInternals] + + [TestClass] + public class MyTestClass + { + [AssemblyInitialize] + internal static void {|#0:AssemblyInitialize|}(TestContext context) + { + } + } + """; + + await VerifyCS.VerifyAnalyzerAsync( + code, + VerifyCS.Diagnostic(AssemblyInitializeShouldBeValidAnalyzer.PublicRule) + .WithLocation(0) + .WithArguments("AssemblyInitialize")); + } public async Task WhenAssemblyInitializeIsNotOrdinary_Diagnostic() { var code = """