diff --git a/src/Analyzers/AnalyzerReleases.Unshipped.md b/src/Analyzers/AnalyzerReleases.Unshipped.md index 196fcd259..fe53379f9 100644 --- a/src/Analyzers/AnalyzerReleases.Unshipped.md +++ b/src/Analyzers/AnalyzerReleases.Unshipped.md @@ -11,6 +11,7 @@ Moq1205 | Moq | Warning | EventSetupHandlerShouldMatchEventTypeAnalyzer Moq1206 | Moq | Warning | ReturnsAsyncShouldBeUsedForAsyncMethodsAnalyzer Moq1207 | Moq | Error | SetupSequenceShouldBeUsedOnlyForOverridableMembersAnalyzer Moq1210 | Moq | Error | VerifyShouldBeUsedOnlyForOverridableMembersAnalyzer +Moq1300 | Usage | Error | AsShouldBeUsedOnlyForInterfaceAnalyzer (updated category from Moq to Usage) Moq1301 | Moq | Warning | Mock.Get() should not take literals Moq1302 | Moq | Warning | LINQ to Mocks expression should be valid (flags non-virtual members including fields, events, nested and chained accesses) Moq1420 | Moq | Info | RedundantTimesSpecificationAnalyzer diff --git a/src/Analyzers/AsShouldBeUsedOnlyForInterfaceAnalyzer.cs b/src/Analyzers/AsShouldBeUsedOnlyForInterfaceAnalyzer.cs index c008d6a7a..69c724411 100644 --- a/src/Analyzers/AsShouldBeUsedOnlyForInterfaceAnalyzer.cs +++ b/src/Analyzers/AsShouldBeUsedOnlyForInterfaceAnalyzer.cs @@ -9,15 +9,17 @@ namespace Moq.Analyzers; public class AsShouldBeUsedOnlyForInterfaceAnalyzer : DiagnosticAnalyzer { private static readonly LocalizableString Title = "Moq: Invalid As type parameter"; - private static readonly LocalizableString Message = "Mock.As() should take interfaces only"; + private static readonly LocalizableString Message = "Mock.As() should take interfaces only, but '{0}' is not an interface"; + private static readonly LocalizableString Description = "Mock.As() should take interfaces only."; private static readonly DiagnosticDescriptor Rule = new( DiagnosticIds.AsShouldOnlyBeUsedForInterfacesRuleId, Title, Message, - DiagnosticCategory.Moq, + DiagnosticCategory.Usage, DiagnosticSeverity.Error, isEnabledByDefault: true, + description: Description, helpLinkUri: $"https://github.com/rjmurillo/moq.analyzers/blob/{ThisAssembly.GitCommitId}/docs/rules/{DiagnosticIds.AsShouldOnlyBeUsedForInterfacesRuleId}.md"); /// @@ -76,7 +78,7 @@ private static void Analyze(OperationAnalysisContext context, ImmutableArray generic type argument and report the diagnostic on it GenericNameSyntax? asGeneric = invocationOperation.Syntax @@ -86,7 +88,7 @@ private static void Analyze(OperationAnalysisContext context, ImmutableArray