我有一个包含58个项目的解决方案,其中包括10个测试项目,只有一个我感兴趣的项目与我的团队工作相关。
我可以从测试资源管理器手动运行测试项目,它构建的所有测试都很好地通过。
然而,当我设置实时单元测试时,由于在其他项目中使用了过时的类型,构建失败。我不想替换所有的类型引用,因为该代码由其他团队管理。
这是我的VS2022 LUT settings。
我只把我感兴趣的测试项目添加到LUT列表中。我也尝试替换一些过时的类型(我最初只有3个错误),但是编译器后来发现了几十个...
我把LUT的日志级别提高到了详细级别,但是这并没有给予任何有用的东西。我没有看到任何其他设置让LUT忽略某些项目或错误。
我已经查阅了MS文档中关于[obsolete]属性的内容,但我不确定为什么在LUT上会出现错误,而在常规测试或调试构建版本上却没有。
失败项目的.csproj包含以下行:<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
并将其设置为False
允许LUT构建它。但我不想仅仅为了运行一些测试而更改许多. csproj。
是否有其他方法将错误标记为实时单元测试的警告?
1条答案
按热度按时间6g8kf2rb1#
除了设置
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
之外,你可以将<NoWarn>CS0618</NoWarn>
添加到项目文件中,这可能对每个人都有帮助,因为其他人也会遇到同样的问题。您还可以向
Directory.Build.props
文件(应位于项目结构的根目录中)添加如下节:这将禁用名称以“UnitTest”结尾的所有项目的警告。