Grails 3.3.8:无法解析ControllerUnitTest

Grails 3.3.8:无法解析ControllerUnitTest,grails,Grails,我正在尝试编写一些基本的控制器测试,并遵循文档。我的测试当前无法找到控制器UnitTest。我是否缺少一种依赖性 这是我的进口货 grails.testing.web.controllers.ControllerUnitTest 请参阅上的项目 package mcroteaucontrollertest 导入grails.testing.web.controllers.ControllerUnitTest 导入spock.lang.Specification 不允许导入静态org.spri

我正在尝试编写一些基本的控制器测试,并遵循文档。我的测试当前无法找到控制器UnitTest。我是否缺少一种依赖性

这是我的进口货

grails.testing.web.controllers.ControllerUnitTest
请参阅上的项目

package mcroteaucontrollertest
导入grails.testing.web.controllers.ControllerUnitTest
导入spock.lang.Specification
不允许导入静态org.springframework.http.HttpStatus.METHOD\u
类DemoControllerSpec extends规范实现ControllerUnitTest{
作废“测试获取请求”(){
什么时候:
controller.index()
然后:
response.text==“成功”
}
无效“测试后请求”(){
什么时候:
request.method='POST'
controller.index()
然后:
response.status==METHOD\u NOT\u ALLOWED.value()
}
}

ControllerUnitTest
特性由GrailsWeb测试支持提供。确保您有类似于
testCompile“org.grails:grails web测试支持”
的东西,如所示。

谢谢。示例应用程序工作得非常好。然而,当我在外部的项目中实现时,我在读取
控制器的行上得到
“groovy.lang.MissingPropertyException”
*等于方法名。你知道这是什么原因吗?如有任何额外指导,将不胜感激。谢谢。如果我在控制器上使用混音器有关系吗?谢谢。这与我在控制器中使用@Mixin有关。我不知道该怎么处理。我该怎么做有什么想法吗?如果可能的话,我想介绍一下控制器。您试图结合
ControllerUnitTest
trait使用哪种混合?您链接的项目是Grails 3.2.8项目,但您正在尝试使用Grails 3.3测试框架。
package mcroteaucontrollertest

import grails.testing.web.controllers.ControllerUnitTest
import spock.lang.Specification

import static org.springframework.http.HttpStatus.METHOD_NOT_ALLOWED

class DemoControllerSpec extends Specification implements ControllerUnitTest<DemoController> {

    void "test GET request"() {
        when:
        controller.index()

        then:
        response.text == 'Success'
    }

    void "test POST request"() {
        when:
        request.method = 'POST'
        controller.index()

        then:
        response.status == METHOD_NOT_ALLOWED.value()
    }
}