unit-testing - 在Grails单元测试中模拟动态查找器

标签 unit-testing grails

我正在使用grails 1.3.7。

在为 Controller 编写单元测试时,由于在 Controller 中的操作使用动态查找程序,例如“findByName('ABC')”,因此出现错误。
我知道我也需要模拟动态查找器,但我尝试了一下,但不幸的是没有解决。
我要求您提供我需要使用的确切模拟片段,以帮助我。
另外,对于所有这些 mock 的事物,请提出一些具有所有这些内容的文档URL。

此外,在我的grails应用程序中,我将三个域之间的关联称为“hasMany和belongsTo”。因此,在为 Controller 编写单元测试时,请提出我需要如何模拟这些域类。

请我尽快答复所有人,因为我对此有疑问。
提前致谢,
并等待积极的答案。

谢谢

最佳答案

如果name是域的属性,则当您mock the domain时,动态查找器将被“自动”模拟。您应该能够做到:

mockDomain(YourDomain)

此时,您将只返回null,因此,如果您希望该查询返回它们,请创建一些实例:
YourDomain instance = new YourDomain(name: 'foo')
mockDomain(YourDomain, [instance])

那么您可以执行以下操作:
assert instance == YourDomain.findByName('foo')

关于unit-testing - 在Grails单元测试中模拟动态查找器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15518931/

相关文章:

unit-testing - 与 2010 相比的代码覆盖率

javascript - 用磁带 js 模拟文档对象

javascript - 将本地 JSON 加载到 AngularJS 中的 Jasmine/Karma 单元测试中

grails - 集成测试Grails REST Controller

linux - grails 应用程序不会在 tomcat 上部署失败 - 应用程序无法启动

grails - 在另一个 session 中使用 session 变量grails 2.4.2

java - stub 具有通用类参数的方法

c# - 如何模拟扩展类并实现接口(interface)的对象?

hibernate - 如何从 Grails Controller 和 View 外部引用 Grails 域类字段?

grails - 从 Controller 调用服务方法时,空指针异常