unit-testing - Grails:模拟休眠域操作-beforeInsert

标签 unit-testing grails grails-2.0 grails-domain-class

给定这样的域星座:

abstract class A { 
    def myService 
    def beforeInsert() { 
        myService.doIt() 
    } 
} 

class B extends A { 
    def beforeInsert() { 
        super.beforeInsert() 
    } 
}

是否可以模拟以下方法:
-B中的beforeInsert()?
-A中的beforeInsert()?

最佳答案

为了使服务方法调用对于单元测试是可选的,最简单的方法是使用null安全方法调用:

abstract class A { 
    def myService 
    static transients = ['myService']
    def beforeInsert() { 
        myService?.doIt() 
    } 
} 

class B extends A { 
    def beforeInsert() { 
        super.beforeInsert() 
    } 
}

关于unit-testing - Grails:模拟休眠域操作-beforeInsert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13413198/

相关文章:

javascript - 在 Angular Jest 测试中模拟窗口、文档和鼠标单击事件属性

java - 如何测试Java中调用System.exit()的场景?

grails-orm - Grails 2.0 的多数据源特性是否支持关系?

grails - 如何使用encodeAsHTML()作为空白值?

java - NPE 使用 mockito 进行单元测试

unit-testing - 如何用 jest 和 enzyme 测试 websocket?

grails - 无法将类 'java.lang.String' 的对象 jar 转换为类 'java.util.Map' 。从 grails 3.0.10 升级到 3.1.11 时

grails - 在Grails中从CSV加载数据

grails - 使用jaxrs插件通过spring-security-core保护Jersey RESTful服务

grails - 防止重复输入以巧妙地保存