Grails 3.3.8:无法解析ControllerUnitTest
我正在尝试编写一些基本的控制器测试,并遵循文档。我的测试当前无法找到控制器UnitTest。我是否缺少一种依赖性 这是我的进口货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
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()
}
}