我读了文章说
测试支持烘焙:测试是 中国的优先考虑和一等公民 Grails的。 Grails促进测试;和 提供实用程序来进行测试 更容易 - 从低级单元测试到 高级功能测试。在 另外,Grails没有结婚 特定的测试框架。您可以 使用JUnit,Spock,EasyB,Geb, Selenium,Canoo等任何测试 框架可以使用 Grails(通过编写一个挂钩的插件 使用Grails测试测试框架 基础设施)。
这是否意味着我可以像任何其他Java EE框架一样测试Grails?这段文字什么都不说(比如Grails与jUnit集成)或Grails测试有什么特别之处吗?
修改
与SeamTest相比如何?
答案 0 :(得分:5)
我想说Grails支持通过已经包含单元和集成测试文件夹的文件夹结构进行测试,其命令可以帮助进行测试编写。例如,当您创建域类或控制器时,它会自动为您创建测试存根。它还具有运行所有测试,仅运行单元/集成测试或运行单个测试的命令 - 这些命令会自动在测试文件夹中为您创建报告。
您还可以找到许多支持测试的插件 - 有一个很好的功能测试插件,它使用HtmlUnit来测试实际请求。还有一个Selenium插件。
我对Grails的整体体验非常积极,我强烈建议将其作为一个框架。
我希望这会有所帮助。
答案 1 :(得分:4)
正如马修指出的那样,测试基础设施都已建立。定义了目录布局,可以通过grails脚本运行测试。
总的来说,Grails和SeamTest的测试环境并没有那么不同。他们都有单元测试sans数据库,以及具有整个堆栈的集成测试。差异主要是java与groovy的性质。
就像SeamTest在TestNG上提供一个层一样,grails在JUnit上有一个层,它提供类似的支持。 grails.test.GrailsUnitTestCase和groovy.util.GroovyTestCase是了解他们如何比较的良好起点。
在我看来,Grails真正脱颖而出的是其嘲弄的支持。它使用groovy来提供非常灵活的模拟。特别是,您可以直接在类和对象上使用模拟版本动态覆盖方法,因此不需要创建模拟类。该框架提供了模拟整个ORM层的快捷方式,允许您轻松测试更高级别的组件,而无需数据库的开销。
看看manual's chapter on testing的一些具体例子。