Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy 如何向Spock块添加注释?_Groovy_Annotations_Spock - Fatal编程技术网

Groovy 如何向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

我试图创建一个可以添加到Groovy类、spock特性和spock块中的注释。“when”块之前的注释失败,因为spock语言解析器无法识别它。有人知道我的问题的解决办法吗

@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子句。