我很难对域中包含的方法进行单元测试,如下所示:
这是域类
class UserRole implements Serializable {
User user
Role role
static void removeAll(User user) {
executeUpdate 'DELETE FROM UserRole WHERE user=:user', [user: user]
}
}
然后在服务中:
class CorporateUserService {
def delete (def cifUserInstance) {
def userDetail,users,userRole
userDetail=UserDetails.findById(cifUserInstance.userDetails.id)
users=User.findById(userDetail.user.id)
userRole=UserRole.removeAll(users)
}
}
在单元测试中:
void testDelete(){
def cifUserService = new CorporateUserService()
mockDomain(UserRole,[])
def newuserRole2=UserRole.create(user,role2)
def newuserRole=UserRole.create(user,role)
newuserRole.executeUpdate 'DELETE FROM UserRole WHERE user= :user',[user: user]
try{
cifUserInstance = cifUserService.delete(cifUser)
}
catch(RuntimeException e){
println e
}
}
我有这样的错误:
“groovy.lang.MissingMethodException:没有方法签名:com.logika.corp.security.UserRole.executeUpdate() 适用于参数类型:(java.lang.String, java.util.LinkedHashMap) 值:[DELETE FROM UserRole WHERE用户=:用户,[用户:用户1]]“
谁能知道如何解决这个错误??