我想在我的grails-app中注册所有spock geb规范的监听器,所以我在myapp/src/groovy中添加了IGlobalExtension
package myapp.spock
class TakeScreenshotExtension implements IGlobalExtension {
@Override
void visitSpec(SpecInfo specInfo) {
System.err.println "ADDING LISTENER"
specInfo.addListener(new TakeScreenshotOnFailureListener())
}
}
之后,我将org.spockframework.runtime.extension.IGlobalExtension文件添加到包含该行的myapp/src/resources/META-INF/services中
myapp.spock.TakeScreenshotExtension
因此,据我所知,当运行grails test-appfunctional:时,应该加载扩展,但在输出中的任何地方都看不到“ADDING LISTENER”。我究竟做错了什么?
最佳答案
IGlobalExtension
文件的正确位置似乎是grails-app/conf/META-INF/services
,但是随后我得到了class not found Exception
,因为spock无法加载我的扩展类。任何想法,我必须把它放在哪里?
关于grails - Spock GlobalExtension未加载(严重),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20553688/