给定这样的域星座:

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/

10-10 18:44