Grails在测试用例中打印Hibernate调试日志

时间:2013-07-10 09:24:04

标签: hibernate testing grails

我是否知道如何在 Grails 测试用例运行中打印 Hibernate 调试日志。

我已在DataSource.groovy

中进行了配置
dataSource {
    ...
    logSql = true 
}

environments {
 ... 
    test {
        dataSource {
           dbCreate = "none"
           url = "jdbc:mysql://localhost/church?useUnicode=yes&characterEncoding=UTF-8"
        logSql = true
         }
     hibernate {
       show_sql = true
         }
     }
 ...
}

并使用logger在测试用例和控制器类中写入日志,但我在测试用例控制台中看不到相应的Hibernate调试日志。

请指教。谢谢!

2 个答案:

答案 0 :(得分:0)

感谢dmahapatro。 在测试/集成文件夹下移动我的测试用例之后。有用。 我没有注意到单元测试不能用于hibernate。 只是交叉检查grails文档,它说明

  

此处描述的模拟支持最适合在测试使用域类的非域工件时,让您专注于测试工件而无需数据库。但是在测试持久性时,最好使用配置Hibernate并使用数据库的集成测试。

http://grails.org/doc/latest/guide/testing.html#unitTestingDomains

答案 1 :(得分:0)

如果您使用 HibernateSpec,您可以在单元测试中使用它。 DomainUnitTest 使用内存映射,但 HibernateSpec 使用 hibernate 和内存中的 h2。 请参阅文档 here