我想在我的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/

10-13 02:07