Spock提供了@Narrative
和@Title
注释,您可以使用它们来为测试提供类级别的描述,例如:
@Narrative('description of spec')
@Title('title of spec')
class ExampleSpec extends Specification {
// tests omitted
}
这两者有何不同之处?换句话说,既然它们似乎起着相同的作用,为什么我们需要同时使用它们呢?
@Title
可以是 Example validation 的规范,@Narrative
可以是 此规范检查如何在各种输入数据(特别是格式错误的数据)下运行 Example validation。 现在,如果项目负责人员(或其他人)阅读这些描述,他/她可能会指出根据他/她所读的描述缺少某些规范。老实说,除非真的需要,否则我不会太关注这些注释。标题应该是一行(简短描述)
叙述应该是完整的段落(使用Groovy多行字符串)
它们主要用于大型项目,业务分析师、项目经理等可以阅读叙述文本。
正如Opal所说,这些注释在某些报告工具实际使用时将更加有用。
更新: Spock reports 项目现在支持这些注释。