Spock的@Narrative和@Title注释

时间:2015-06-22 13:29:15

标签: groovy spock

Spock提供@Narrative@Title注释,您可以使用这些注释来提供测试的类级别描述,例如

@Narrative('description of spec')
@Title('title of spec')
class ExampleSpec extends Specification {

  // tests omitted
}

这两者有什么区别?换句话说,当它们看起来有同样的目的时,为什么我们需要它们呢?

2 个答案:

答案 0 :(得分:2)

这两个注释的目的纯粹是信息性的 - 而且它们的命名非常好。把规范想象成电影(:D)。电影有标题,可能有描述或评论。在此特定情况下,@Title可能是示例验证规范@Narrative 此规范检查示例验证在各种输入数据下的工作方式 - 特别是格式错误。现在,如果负责质量(或其他)的项目成员阅读此描述,他/她可能会指出根据他/她阅读的描述缺少某些规范。说实话,除非他们真的需要,否则我不会太注意这些注释。

此外,此类描述可用于生成文档。

答案 1 :(得分:2)

标题预计为单行(简短说明)

叙述应该是完整的段落(使用Groovy多行字符串)

它们主要用于大型项目,其中叙述性文本可由业务分析师,项目经理e.t.c阅读。

正如Opal所说,一旦某些报告工具实际使用它们,这些将更有用。

<强>更新 Spock reports项目现在支持这些注释。