.NET, Architecture, ALM, Cloud
Nous avons vu dans cet article comment créer un analyseur de code C#.
Voyons comment à présent créer des test unitaires pour vos analyseurs. Le plus simple est de partir sur les helpers générés par le template de projet "Analyzer with Code Fix" qui va vous généré un projet de test unitaire (il vous faut installer le .NET Compiler SDK) :
Ajouter votre classe de test unitaire en héritant de la classe DiagnosticVerifier généré par le template du projet de test unitaire qui vous apporte la méthode VerifyCSharpDiagnostic que nous allons utiliser comme suit :
[TestMethod]
public void MethodNameTooLongOKTest()
{
var test = @"public static class Helpers {
public static void MethodNameIsTooLong()
{
}
}";
var expected = new DiagnosticResult
{
Id = "MethodNameTooLong",
Message = "The method name MethodNameIsTooLong cannot exceed 15 characters",
Severity = DiagnosticSeverity.Warning,
Locations =
new[] {
new DiagnosticResultLocation("Test0.cs", 4, 28)
}
};
VerifyCSharpDiagnostic(test, expected);
}