0

Grails 2.0 - 在对使用命名查询的控制器进行单元测试时,出现“在 BaseDomain 上找不到属性(子域 1 属性)”错误。应用程序运行良好并返回正确的结果,但单元测试失败。

class BaseDomain {
    static namedQueries = {
        listDuplicates {instance ->
           if(instance instanceof SubDomain1) {
            eq('subdomain1property', instance.subdomain1property)
           }
        }
    }
}

class SubDomain1 extends BaseDomain {
  String subdomain1property
}

控制器的单元测试有

@Mock([BaseDomain, SubDomain1])

控制器有这条线

BaseDomain.listDuplicates(instance)
4

1 回答 1

0

将特定测试用例从单元移动到集成测试并解决了问题。如果我在单元测试中找到模拟多态性的方法,我将更新答案。

于 2012-10-10T01:45:40.927 回答