using Microsoft.CodeAnalysis.Diagnostics; namespace GFramework.SourceGenerators.Tests.Core; /// /// 提供 Roslyn 分析器测试的通用运行入口。 /// /// 要验证的分析器类型。 public static class AnalyzerTestDriver where TAnalyzer : DiagnosticAnalyzer, new() { /// /// 运行分析器测试并断言期望诊断。 /// /// 测试输入源码。 /// 期望诊断集合。 /// 异步测试任务。 public static Task RunAsync( string source, params DiagnosticResult[] diagnostics) { var test = new CSharpAnalyzerTest { TestState = { Sources = { source } }, DisabledDiagnostics = { "GF_Common_Trace_001" } }; test.ExpectedDiagnostics.AddRange(diagnostics); return test.RunAsync(); } }