gpt4 book ai didi

grails - Grails:URL映射测试失败: “did not match any mappings”

转载 作者:行者123 更新时间:2023-12-02 14:53:44 26 4
gpt4 key购买 nike

我正在研究Grails框架并开发应用程序。

目前,我有一个具有多个插件的主应用程序。

所以层次结构是这样的:

  • MyMainApp
  • MyFirstPlugin
  • MySecondPlugin
  • ...

  • 我想为我的插件编写UrlMappings测试。我写了文档,可能丢失了一些东西,但是我无法通过那些f * * 测试。我总是发现错误

    java.lang.IllegalArgumentException: url '/bar' did not match any mappings



    这是我的FooUrlMappings类
    class FooUrlMappings {
    static mappings = {

    "/bar/"(controller: 'foo', action: 'show')
    }
    }

    请注意,我的FooUrlMappings类位于/ conf目录中的默认包中。

    现在我的 Controller 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")
    }
    }

    我的测试也位于test / integration目录的默认包中。

    所以我认为我做了文档中所说的。如果我尝试运行此测试,我将得到:

    java.lang.IllegalArgumentException: url '/bar' did not match any mappings



    我的错误在哪里?有人能帮助我吗 ?

    最佳答案

    您应该将URL映射测试作为单元测试而不是集成测试来运行。这样可以解决您的问题。

    @TestFor(FooUrlMappings)



    请注意,TestFor批注只能在单元测试中使用。

    My test is also in the default package in the test/integration directory.



    将测试移至test / unit /目录。

    关于grails - Grails:URL映射测试失败: “did not match any mappings”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15137583/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com