Spock提供@Narrative
和@Title
注释,您可以使用这些注释来提供测试的类级别描述,例如
@Narrative('description of spec')
@Title('title of spec')
class ExampleSpec extends Specification {
// tests omitted
}
这两者有什么区别?换句话说,当它们看起来有同样的目的时,为什么我们需要它们呢?
答案 0 :(得分:2)
这两个注释的目的纯粹是信息性的 - 而且它们的命名非常好。把规范想象成电影(:D)。电影有标题,可能有描述或评论。在此特定情况下,@Title
可能是示例验证规范和@Narrative
此规范检查示例验证在各种输入数据下的工作方式 - 特别是格式错误。现在,如果负责质量(或其他)的项目成员阅读此描述,他/她可能会指出根据他/她阅读的描述缺少某些规范。说实话,除非他们真的需要,否则我不会太注意这些注释。
此外,此类描述可用于生成文档。
答案 1 :(得分:2)
标题预计为单行(简短说明)
叙述应该是完整的段落(使用Groovy多行字符串)
它们主要用于大型项目,其中叙述性文本可由业务分析师,项目经理e.t.c阅读。
正如Opal所说,一旦某些报告工具实际使用它们,这些将更有用。
<强>更新强> Spock reports项目现在支持这些注释。