在 Grails 3.3.1 单元测试中记录 SQL
Logging SQL in Grails 3.3.1 unit tests
在 Grails 3.3.1 中进行 运行 单元测试时,如何查看 SQL 日志记录?当 运行 应用程序正常使用以下设置时,我可以查看 SQL 日志记录。
application.yml
hibernate:
format_sql: true
test:
dataSource:
logSql: true
development:
dataSource:
logSql: true
logback.groovy
logger 'org.hibernate.type.descriptor.sql.BasicBinder', TRACE, ['STDOUT']
logger 'org.hibernate.SQL', TRACE, ['STDOUT']
在 运行 单元测试时不应该访问数据库。应该模拟所有外部交互,如数据库等。
集成和功能测试更适合验证向数据库发送了哪些查询。
我需要在单元测试中使用 HibernateSpec 而不仅仅是规范。然后使用上面的 SQL 日志记录就可以了。
class MyServiceSpec extends HibernateSpec implements ServiceUnitTest<MyService>
在 Grails 3.3.1 中进行 运行 单元测试时,如何查看 SQL 日志记录?当 运行 应用程序正常使用以下设置时,我可以查看 SQL 日志记录。
application.yml
hibernate:
format_sql: true
test:
dataSource:
logSql: true
development:
dataSource:
logSql: true
logback.groovy
logger 'org.hibernate.type.descriptor.sql.BasicBinder', TRACE, ['STDOUT']
logger 'org.hibernate.SQL', TRACE, ['STDOUT']
在 运行 单元测试时不应该访问数据库。应该模拟所有外部交互,如数据库等。
集成和功能测试更适合验证向数据库发送了哪些查询。
我需要在单元测试中使用 HibernateSpec 而不仅仅是规范。然后使用上面的 SQL 日志记录就可以了。
class MyServiceSpec extends HibernateSpec implements ServiceUnitTest<MyService>