我正在使用域类作为Grails documentation
中提到的休息资源因此,在使用此方法时,没有创建控制器或服务类。我试图找到一种方法来编写域的集成测试作为REST资源但无法找到它。请好好告诉我如何做到这一点,或者发布链接到一个告诉同样的地方。
关于这种方法,它是要求的确切方法,因此我无法改变使用REST服务的其他方式。
提前致谢。
答案 0 :(得分:2)
您应该考虑使用Spock作为您的测试框架:
https://spock-framework.readthedocs.org/en/latest/
如何将其用于REST:
class ExampleWebAppSpecification extends Specification {
def "Should return 200 & a message with the input appended"() {
setup:
def primerEndpoint = new RESTClient( 'http://localhost:8080/' )
when:
def resp = primerEndpoint.get([ path: 'exampleendpoint', query : [ input : 'Get a hair cut' ]])
then:
with(resp) {
status == 200
contentType == "application/json"
}
with(resp.data) {
payload == "Something really important: Get a hair cut"
}
}
}
编辑 - 在buildConfig.groovy中:
compile("org.codehaus.groovy:groovy-all:2.2.0")
compile("com.fasterxml.jackson.core:jackson-databind")
testCompile("org.spockframework:spock-core:0.7-groovy-2.0")
testCompile("org.codehaus.groovy.modules.http-builder:http-builder:0.7+")
testCompile("net.sf.json-lib:json-lib:2.4+")