Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 测试代码的Roslyn Diagnostic Analyzer参考_C#_Roslyn_Analyzer - Fatal编程技术网

C# 测试代码的Roslyn Diagnostic Analyzer参考

C# 测试代码的Roslyn Diagnostic Analyzer参考,c#,roslyn,analyzer,C#,Roslyn,Analyzer,现在我正试图为c#编写一个诊断分析器,我希望它能够检查ILog调用。 问题是,对于单元测试,我需要测试代码来获取对Common.Logging的引用,以便正确编译,但我不知道如何将其传递给验证器 有什么建议吗 这是我的分析器的Testmethod示例 [TestMethod] public async Task TestMethod2() { var test = @" using System; using System.Collections.Generic; using

现在我正试图为c#编写一个诊断分析器,我希望它能够检查ILog调用。 问题是,对于单元测试,我需要测试代码来获取对Common.Logging的引用,以便正确编译,但我不知道如何将其传递给验证器

有什么建议吗

这是我的分析器的Testmethod示例

[TestMethod]
public async Task TestMethod2()
{
    var test = @"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using Common.Logging;

namespace ConsoleApplication1
{
    class Program
    {   
        public void Logmethod()
        {
            var Log = LogManager.GetLogger<Program>();

            Log.Debug(m => m({|#0:$""Test{12}""|}));
        }
    }
}";

    var expected = VerifyCS.Diagnostic("Analyzer007").WithLocation(0);
    await VerifyCS.VerifyAnalyzerAsync(test, expected);
}
[TestMethod]
公共异步任务TestMethod2()
{
var test=@”
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用系统诊断;
使用公共日志;
命名空间控制台应用程序1
{
班级计划
{   
公共方法()
{
var Log=LogManager.GetLogger();
Debug(m=>m({|#0:$”“Test{12}”“|}));
}
}
}";
预期var=验证诊断(“Analyzer007”)。带位置(0);
等待VerifyCS.VerifyAnalyzerAsync(测试,预期);
}
我想我需要修改自动生成的验证器,但我不知道如何和在哪里

任何帮助都会很好