【发布时间】:2010-10-06 22:19:59
【问题描述】:
我发现在 Grails 中运行集成和功能测试时,反馈看起来很慢。有没有办法在我编写测试时针对正在运行的服务器实例运行它们,以节省每次执行它们时的服务器启动时间?
【问题讨论】:
标签: grails
我发现在 Grails 中运行集成和功能测试时,反馈看起来很慢。有没有办法在我编写测试时针对正在运行的服务器实例运行它们,以节省每次执行它们时的服务器启动时间?
【问题讨论】:
标签: grails
您可以使用grails interactive 来执行您想要的操作,而无需启动服务器。它启动一个 JVM 并使其保持运行,您可以使用它来运行单元测试和集成测试。请记住,您最终会耗尽内存并需要定期重新启动。见http://docs.grails.org/latest/guide/gettingStarted.html#usingInteractiveMode
同样在 1.3.5 中,您可以针对正在运行的服务器运行功能测试。使用http://grails.org/doc/latest/ 9.3 节中描述的baseUrl 属性
【讨论】:
有一个选项--baseUrl
例如
grails test-app --baseUrl=http://localhost:8080/myapp/
针对一个正在运行的实例运行测试,一个缺点是测试后不会擦除板岩,因此如果您的测试写入数据库、上传文件或对应用程序进行一些其他永久性更改,那么您可能需要进行一些拆解。
这在 grails 文档的功能测试部分的末尾有简要记录
http://grails.org/doc/latest/guide/testing.html#functionalTesting
对于编写/调试功能测试很有用
【讨论】:
我在功能测试的上下文中使用 Grails 1.3.5 和 EasyB 插件。
查看http://padcom13.blogspot.com/2010/10/grails-easyb-and-selenium.html 了解分步说明。
【讨论】: