如何获取 Spock 注解闭包结果
How to get Spock annotation closure result
我想知道如何获取 IgnoreIf spock 注释的布尔值。
例如在我的脚本中我可能有这样的东西:
@IgnoreIf({someBooleanMethod()})
def "Some Feature Method"(){
// code and stuff
}
我还有一个自定义的 spock 扩展。在那个扩展中,我有这个:
//iterates over each feature method in a spec
for (FeatureInfo feature : spec.getFeatures()){
if(feature.getFeatureMethod().reflection.isAnnotationPresent(IgnoreIf.class)&&feature.getFeatureMethod().reflection.getAnnotation(IgnoreIf.class).value()){
//some more code goes here
}
}
我想为每个包含 IgnoreIf 闭包的特征方法评估 IgnoreIf 闭包。如果我没记错的话,feature.getFeatureMethod().reflection.getAnnotation(IgnoreIf.class).value()
应该给我给定注释中的 clouse,但我不知道如何实际评估闭包内部的 someBooleanMethod
以查看它是真还是假.我该怎么做?
new IgnoreIfExtension().visitFeatureAnnotation(feature.getFeatureMethod().reflection.getAnnotation(IgnoreIf.class), feature)
这就是我所做的。如果 IgnoreIf 条件为真,它将设置为自行跳过
我想知道如何获取 IgnoreIf spock 注释的布尔值。
例如在我的脚本中我可能有这样的东西:
@IgnoreIf({someBooleanMethod()})
def "Some Feature Method"(){
// code and stuff
}
我还有一个自定义的 spock 扩展。在那个扩展中,我有这个:
//iterates over each feature method in a spec
for (FeatureInfo feature : spec.getFeatures()){
if(feature.getFeatureMethod().reflection.isAnnotationPresent(IgnoreIf.class)&&feature.getFeatureMethod().reflection.getAnnotation(IgnoreIf.class).value()){
//some more code goes here
}
}
我想为每个包含 IgnoreIf 闭包的特征方法评估 IgnoreIf 闭包。如果我没记错的话,feature.getFeatureMethod().reflection.getAnnotation(IgnoreIf.class).value()
应该给我给定注释中的 clouse,但我不知道如何实际评估闭包内部的 someBooleanMethod
以查看它是真还是假.我该怎么做?
new IgnoreIfExtension().visitFeatureAnnotation(feature.getFeatureMethod().reflection.getAnnotation(IgnoreIf.class), feature)
这就是我所做的。如果 IgnoreIf 条件为真,它将设置为自行跳过