有人可以告诉我为什么我无法在测试中模拟CriteriBuilder。执行criteriaBuilderMock.createMock()时,我收到错误,将地图投射到grails.gorm.CriteriaBuilder,原因:null
是否可以模拟CriteriaBuilder?我是否收到此错误,因为grails不允许在没有默认构造函数的情况下模拟对象?有工作吗?
@TestFor(ProductService)
class ProductServiceSpec extends Specification {
void "test exists"() {
given:
def criteriaBuilderMock = mockFor(CriteriaBuilder);
criteriaBuilderMock.createMock(); //<-- error org.codehaus.groovy.runtime.typehandling.GroovyCastException: Error casting map to grails.gorm.CriteriaBuilder, Reason: null
}
}
感谢
答案 0 :(得分:0)
模拟类必须有一个no-args构造函数。