我们最近开始在 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