Groovy 如何向Spock块添加注释?
我试图创建一个可以添加到Groovy类、spock特性和spock块中的注释。“when”块之前的注释失败,因为spock语言解析器无法识别它。有人知道我的问题的解决办法吗Groovy 如何向Spock块添加注释?,groovy,annotations,spock,Groovy,Annotations,Spock,我试图创建一个可以添加到Groovy类、spock特性和spock块中的注释。“when”块之前的注释失败,因为spock语言解析器无法识别它。有人知道我的问题的解决办法吗 @MyAnnotation("Info") class MySpec extends Specification { @MyAnnotation("Info") def setupSpec () { //... } @MyAnnotation("Info") def "test feature
@MyAnnotation("Info")
class MySpec extends Specification {
@MyAnnotation("Info")
def setupSpec () {
//...
}
@MyAnnotation("Info")
def "test feature X"() {
@MyAnnotation("Info")
when:
//...
then:
//...
}
}
谢谢你的帮助
干杯,
丹尼斯:简而言之,你不能
时间、时间、期望、地点等基本上都是。不应该有@s吗?是的,在我的示例中忘记了它们-编辑它,thanksJava和Groovy注释有一个与它们相关联的目标,它指示注释可以应用于何处。例如,如果批注的目标为ElementType.METHOD,则表示批注只能应用于方法,而不能应用于类声明、字段、局部变量或其他任何对象。看见我不知道如果你把你的My注释注释放在测试方法的中间,但是你不能这么做,你会希望发生什么。如果你从注释中删除目标,它就可以应用于每一个元素类型,而不是斯波克的上下文。已知有些注释附加到基本元素,如变量声明@SuppressWarnings。我们的主要目的是将注释用作一个标记,它遵循一个约定,并且比阅读规范的人的注释更具权重。注释通常只能应用于声明。它们不能应用于非声明语句或表达式。这就是为什么不能注释when子句。