Grails在测试用例中打印Hibernate调试日志
我可以知道如何在运行测试用例时打印出调试日志吗 我已经在Grails在测试用例中打印Hibernate调试日志,hibernate,testing,grails,Hibernate,Testing,Grails,我可以知道如何在运行测试用例时打印出调试日志吗 我已经在DataSource.groovy中配置了 dataSource { ... logSql = true } environments { ... test { dataSource { dbCreate = "none" url = "jdbc:mysql://localhost/church?useUnicode=yes&characte
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
debug日志
请给我一些建议。谢谢 谢谢德马哈帕特罗。
在我将测试用例移动到测试/集成文件夹下之后。它起作用了。
我没有注意到单元测试不能使用hibernate。
它说,只是交叉检查了grails文档
在测试使用域类的非域工件时,最好使用这里描述的模拟支持,以使您能够在不需要数据库的情况下集中精力测试工件。但在测试持久性时,最好使用配置Hibernate和使用数据库的集成测试
如果使用HibernateSpect,您可以在单元测试中使用它。DomainUnitTest使用内存映射,但HibernateSpect使用hibernate和内存中的h2。
请参阅文档。您所说的“hibernate调试日志”是什么意思?谢谢!这意味着SQL打印输出和相关的打印输出跟踪。我已经配置了数据源{dbCreate=…url=…logSql=true}和log4j={…debug'org.hibernate.SQL'trace'org.hibernate.type},我希望在运行测试用例时看到一些hibernate SQL打印输出。我可以在运行时部署中找到打印输出,但在运行测试用例中找不到。谢谢!您在DataSource的测试环境下添加了logSql吗?我在测试环境中添加了logSql,但仍然没有任何打印输出。请帮忙。环境{….测试{dataSource{dbCreate=“none”url=“jdbc:mysql://localhost/church?useUnicode=yes&characterEncoding=UTF-8“logSql=true}休眠{show_sql=true}}}