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