代码之家  ›  专栏  ›  技术社区  ›  BenHuman

Grails中的Hibernate条件查询可以进行单元测试吗?

  •  2
  • BenHuman  · 技术社区  · 9 年前

    我正在尝试为通用代码库(使用Grails 2.5.1)编写单元测试,而不进行单元测试,以便测试代码的每个部分。但在所有情况下,我都很难用Spock测试标准查询。只有 eq 可以测试-如果 'in' sqlRestriction 无法测试。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Sudhir N    9 年前

    HibernateTestMixin使用Hibernate 4和内存中的H2数据库。这使得在Grails单元测试中也可以使用所有GORM特性。

    • 基于字符串的HQL查询
    • 复合标识符
    • 与Hibernate的任何直接交互

    HibernateTestMixin背后的实现负责使用内存中的H2数据库设置Hibernate。它仅配置给定的域类以用于单元测试。@Domain注释用于告诉应该配置哪些域类。

    将以下依赖项添加到buildconfig

    dependencies {
            test 'org.grails:grails-datastore-test-support:1.0-grails-2.4'
        }
    

    @Domain(Person)
    @TestMixin(HibernateTestMixin)
    

    资料来源: grails 2.5.1 reference documentation

    推荐文章