我想要禁用整个类的代码分析规则,但不是整个项目,只是单个类。在下面的示例中,构建会生成CA1822警告,因为它认为单元测试方法应该是静态的。
解决办法是向每个单元测试方法添加以下属性:[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
但是,这很麻烦,并且会使一个有很多单元测试的类变得混乱。
我尝试过:
- 将属性移到类上
- 将所有方法包装在
#pragma warning disable CA1822
和#pragma warning restore CA1822
中
这两种方法都没有起作用。
public class TestClass
{
public TestClass()
{
// some setup here
}
[Fact]
public void My_Unit_Test1()
{
// the 'this' parameter is never used, causes CA warning 1822
}
[Fact]
public void My_Unit_Test2()
{
// the 'this' parameter is never used, causes CA warning 1822
}
}
使用VS2015 Update 2、.net 4.61和新的代码分析分析器。
#pragma
зҡ„и§ЈеҶіж–№жЎҲйҖӮз”ЁдәҺStylecopдҪҶдёҚйҖӮз”ЁдәҺд»Јз ҒеҲҶжһҗеҗ—пјҹ - Suraj