Spock的@Narrative和@Title注解

3

Spock提供了@Narrative@Title注释,您可以使用它们来为测试提供类级别的描述,例如:

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

  // tests omitted
}

这两者有何不同之处?换句话说,既然它们似乎起着相同的作用,为什么我们需要同时使用它们呢?
2个回答

2
两个注释的目的纯粹是提供信息 - 它们的命名非常恰当。把规范想象成一部电影(:D)。电影有一个标题,可能有描述或评论。在这种情况下,@Title 可以是 Example validation 的规范@Narrative 可以是 此规范检查如何在各种输入数据(特别是格式错误的数据)下运行 Example validation。 现在,如果项目负责人员(或其他人)阅读这些描述,他/她可能会指出根据他/她所读的描述缺少某些规范。老实说,除非真的需要,否则我不会太关注这些注释。
此外,这些描述可以用于文档生成。

2

标题应该是一行(简短描述)

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

它们主要用于大型项目,业务分析师、项目经理等可以阅读叙述文本。

正如Opal所说,这些注释在某些报告工具实际使用时将更加有用。

更新: Spock reports 项目现在支持这些注释。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接