我们用Coverity分析C代码的缺陷。
我们有一些单元测试,可以显式地验证空参数是否被正确处理。
这些缺陷按覆盖率列为缺陷。如果这是Microsofts自己的代码分析,我们可以标记我们的方法,该方法使用
[SuppressMessage(...)]
,是否有类似的东西可供掩盖?
[Test]
public void SomeRandomTest()
{
var obj = new SomeRandomObject();
Assert.Throws<ArgumentNullException>(() => obj.Method(null));
}
...
public class SomeRandomObject
{
public void Method(object value)
{
if (value == null) throw new ArgumentNullException(nameof(value));
...
}
}
显式错误显示为
显式空解引用(前向空)
var_deref_model:将null传递给方法,该方法在检查null后引发异常。