给出这样的域名星座:
abstract class A {
def myService
def beforeInsert() {
myService.doIt()
}
}
class B extends A {
def beforeInsert() {
super.beforeInsert()
}
}
是否可以模拟以下方法: - B中的beforeInsert()? - 在A?
中的beforeInsert()答案 0 :(得分:1)
为使单元测试的服务方法调用可选,最简单的方法是使用空安全方法调用:
abstract class A {
def myService
static transients = ['myService']
def beforeInsert() {
myService?.doIt()
}
}
class B extends A {
def beforeInsert() {
super.beforeInsert()
}
}
答案 1 :(得分:0)
在单元测试中保存B对象而不刷新或 通过metaClass覆盖beforeInsert:
B.metaClass.beforeInsert = {-> }