我正在学习Grails框架并开发应用程序。Grails:UrlMapping测试失败:“与任何映射不匹配”
目前我有一个主要的应用程序,它有几个插件。
所以层次是这样的:
- MyMainApp
- MyFirstPlugin
- MySecondPlugin
- ...
我想编写UrlMappings测试我的插件。我写了文档,我可能错过了一些东西,但我无法通过那些f * *测试。我总是捕获错误
java.lang.IllegalArgumentException异常:URL '/条' 没有匹配的映射
这里是我FooUrlMappings类
class FooUrlMappings {
static mappings = {
"/bar/"(controller: 'foo', action: 'show')
}
}
注意,我FooUrlMappings类位于/ conf目录中的默认包中。
现在我控制器FooController的的代码:
package be.arexo.ehr.employee.rest
进口be.arexo.ehr.employee.Employee 进口grails.converters.JSON
class FooController {
// GET /bar/
def show() {
def result = Bar.list()
render result as JSON
}
}
所以,现在,我的测试类:
import com.example.FooController
import grails.test.mixin.Mock
import grails.test.mixin.TestFor
import grails.test.mixin.web.UrlMappingsUnitTestMixin
@TestFor(FooUrlMappings)
@Mock(FooController)
class FooUrlMappingsTests {
void testBarShow(){
assertForwardUrlMapping("/bar/", controller : "foo", action : "show")
}
}
我的测试也在测试/集成的默认包中 目录。
所以我认为我在文档中说了什么。如果我尝试运行这个测试,我将获得:
java.lang.IllegalArgumentException异常:URL“/条”没有匹配的映射
哪里是我的错?有人能帮助我吗 ?
你可以添加你要的网址吗? – axierjhtjz 2013-02-28 14:42:23
我只想通过这个测试: assertForwardUrlMapping(“/ bar /”,controller:“foo”,action:“show”) – Hito 2013-02-28 14:46:51
我唯一能想到的是,也许你应该花第二个//bar \ /“ – axierjhtjz 2013-02-28 15:34:01