SFu*_*n28 9 .net c# code-analysis visual-studio-2015 .net-4.6
我试图在整个类中禁用代码分析规则,但不是整个项目,只是一个类.在下面的示例中,构建生成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
}
}
Run Code Online (Sandbox Code Playgroud)
使用VS2015 Update 2,.net 4.61和新的代码分析分析器.
这并不完全是您想要的,但可能比您所遇到的情况危害较小。
您可以告诉代码分析忽略具有以下属性的特定类:
[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
Run Code Online (Sandbox Code Playgroud)
请注意,您的项目需要选中 Visual Studio 选项“抑制生成代码的结果(仅限托管)”。
虽然很烦人,但如果您临时注释该属性,您仍然可以选择对文件运行代码分析。
| 归档时间: |
|
| 查看次数: |
6540 次 |
| 最近记录: |