11

我在 CodeContracts 的错误列表中有以下消息级条目:

CodeContracts:检查 410 断言:404 正确(6 屏蔽)

我想不通:

  1. 什么是蒙面断言
  2. 如何找到它提到的 6
  3. 我是否应该关心他们

抱歉没有发布代码......我不知道如何在一个小样本中重新创建它:)

非常感谢

4

2 回答 2

9

这很简单,在您的项目属性>代码合同>静态检查>中将警告放在“hi”处。

现在 ccCheck 发出了更多警告。

再见。

于 2013-01-25T10:31:54.520 回答
2

这些似乎是由于包含在“基线”文件中而被掩盖的断言。从文档(强调我的):

6.6.8 基线

将现有代码库带到验证者仅发出少量警告的地步是困难且耗时的,因为它需要添加大量合约。为了更容易在现有代码库上使用合约,并关注由新代码或代码更改引入的警告,可以使用基线功能。

要使用基线功能,请选中标有标签的框Baseline并提供用于存储基线的文件名。路径相对于项目输出目录。当分析运行且基线文件不存在时,将创建基线。在此运行期间,所有警告都显示在输出中并作为 XML 存储在基线文件中。

当分析运行并且基线文件存在时,基线充当过滤器并且已经在基线中找到的警告不会再次显示。新警告显示并存储在名为 的文件中<baseline>.new,其中<baseline>是基线文件的文件名。由于文件存储为文本 XML,因此可以编辑它们并将其他故障添加到基线。该格式不依赖于方法排序,并且可以自由引入用于分组的附加 XML 标记。

我也想知道“蒙面”消息;我关闭了“基线”选项,它们不再出现。因此,您第二个问题的答案似乎是“清除‘基线’复选框。”

至于你是否应该关心他们,我会说,是的,你应该。

于 2012-05-24T21:47:25.377 回答