【问题标题】:Can I run grails integration & functional tests against a running server?我可以对正在运行的服务器运行 grails 集成和功能测试吗?
【发布时间】:2010-10-06 22:19:59
【问题描述】:

我发现在 Grails 中运行集成和功能测试时,反馈看起来很慢。有没有办法在我编写测试时针对正在运行的服务器实例运行它们,以节省每次执行它们时的服务器启动时间?

【问题讨论】:

    标签: grails


    【解决方案1】:

    您可以使用grails interactive 来执行您想要的操作,而无需启动服务器。它启动一个 JVM 并使其保持运行,您可以使用它来运行单元测试和集成测试。请记住,您最终会耗尽内存并需要定期重新启动。见http://docs.grails.org/latest/guide/gettingStarted.html#usingInteractiveMode

    同样在 1.3.5 中,您可以针对正在运行的服务器运行功能测试。使用http://grails.org/doc/latest/ 9.3 节中描述的baseUrl 属性

    【讨论】:

    • 这很好用——我没有发现那个命令。在接下来的几个月里,这将为我节省很多时间!谢谢。
    【解决方案2】:

    有一个选项--baseUrl

    例如

    grails test-app --baseUrl=http://localhost:8080/myapp/
    

    针对一个正在运行的实例运行测试,一个缺点是测试后不会擦除板岩,因此如果您的测试写入数据库、上传文件或对应用程序进行一些其他永久性更改,那么您可能需要进行一些拆解。

    这在 grails 文档的功能测试部分的末尾有简要记录

    http://grails.org/doc/latest/guide/testing.html#functionalTesting

    对于编写/调试功能测试很有用

    【讨论】:

      【解决方案3】:

      我在功能测试的上下文中使用 Grails 1.3.5 和 EasyB 插件。

      查看http://padcom13.blogspot.com/2010/10/grails-easyb-and-selenium.html 了解分步说明。

      【讨论】:

        猜你喜欢
        • 2017-08-07
        • 1970-01-01
        • 2011-07-11
        • 1970-01-01
        • 2021-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多