Grails - 如何对addTo *进行单元测试

时间:2010-09-20 19:05:42

标签: unit-testing grails groovy mocking

是否可以在Grails中对addTo *函数进行单元测试?

感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

文档says in section 9.1

  

在Grails中,你需要具有特殊性   意识到单位之间的区别   和集成测试,因为在单位   测试Grails 注入任何   动态方法存在于   集成测试和运行时。

您必须在单元测试中使用mockDomain(DomainClassName) 或编写集成测试:

DomainClassGrailsPlugin获得设置(doWithDynamicMethods)时,Grails使用一些动态方法装饰域对象。

答案 1 :(得分:2)

我在从Grails 2.1.2升级到Grails 2.3.x时遇到了这个问题。像以前一样,你只需要模拟你要添加的域类,现在你还需要模拟正在添加的域类。简单的注释。

@TestFor(YourService)
@Mock([MyClass, MyOtherClass])
class YourServiceTests {
  .... //now myClass.addToMyOtherClasses(myOtherClassInstance) should work fine in your test or in the code being tested
}