VerifyTests:“TestContext”是一种类型,在给定上下文中无效

问题描述 投票:0回答:0

我们最近开始在 Mstest .Net 8. 项目上使用 VerifyTests/Verify

我的一位同事在本地构建时出现错误:

CS0119  'TestContext' 是一种类型,在给定的环境中无效 上下文

当访问类中的 TestContext 属性时

[TestClass]
    [UsesVerify]
    public partial class ItineraryAttachmentTests
    {
        private async Task<string?> Test( )
        {
           return await DebugSaveAndViewModelAsHtml( TestContext);
        }
}

该错误不会发生在其他开发人员的机器上。 在 GitHub Actions 构建服务器上,正常构建/测试可以正确运行。 但是CodeQL分析器报告了同样的错误:

我们无法自动构建您的代码。请将对自动构建操作的调用替换为您的自定义构建步骤。运行“/opt/hostedtoolcache/CodeQL/2.20.0/x64/codeql/csharp/tools/autobuild.sh”时遇到致命错误。退出代码为 1,最后一个日志行为:错误:无法自动检测合适的构建方法。请参阅日志了解更多详细信息。

错误 CS0119:“TestContext”是一种类型,在给定上下文中无效

构建编译器正确理解“TestContext”是一个属性,在自动生成的部分类中实现,但分析器看不到生成的类。

您有什么建议吗?如何避免错误?

如果它不起作用,我们如何以某种方式排除故障或强制执行src/Verify.MSTest.SourceGenerator

SourceGenerator 的功能在使用属性而不是 MSTest #1193 的基类中描述

预计会生成如下文件: C:\Users\Michael.Freidgeim\AppData\Local\Temp\VSGenerateDocument

mstest sourcegenerators verify-tests
© www.soinside.com 2019 - 2024. All rights reserved.