简体   繁体   English

测试hibernate方言的正确方法是什么?

[英]What is the proper way to test a hibernate dialect?

I have written my own hibernate dialect for a RDBMS. 我为RDBMS编写了自己的hibernate方言。 What is the best way to test the dialect? 测试方言的最佳方法是什么? Are there any testsuites/tests that could be helpful for me? 有没有可能对我有帮助的测试套件/测试? What is the best way to make sure, that my implementation is correct/supports all necessary features? 确保我的实现正确/支持所有必要功能的最佳方法是什么?

This is purely from reading stuff from the Hibernate GitHub repos, not from experience with "doing" Hibernate testing. 这纯粹是从Hibernate GitHub repos中读取内容,而不是从“做”Hibernate测试的经验。 However, it may be sufficient to get you started ... 但是,让你入门可能就足够了......

The Hibernate matrix testing framework allows you to run tests against specific database backends; Hibernate矩阵测试框架允许您针对特定的数据库后端运行测试; see https://github.com/hibernate/hibernate-matrix-testing . 请参阅https://github.com/hibernate/hibernate-matrix-testing The README.md file says how to configure the framework for a specific database. README.md文件说明如何为特定数据库配置框架。

The Hibernate ORM tree includes a number of tests for the core of Hibernate; Hibernate ORM树包含了许多针对Hibernate核心的测试; see https://github.com/hibernate/hibernate-orm . 请参阅https://github.com/hibernate/hibernate-orm The README.md for that project mentions Gradle tasks for running the tests. 该项目的README.md提到了运行测试的Gradle任务。 (I haven't looked at the available tests in detail, but since the ORM tree includes the "dialect" classes for a range of database, I would imagine that includes the corresponding tests.) (我没有详细查看可用的测试,但由于ORM树包含一系列数据库的“方言”类,我想这包括相应的测试。)

Hibernate's build and test framework is implemented using Gradle, so I expect that you will need to get your head around that technology to figure out how it all works. Hibernate的构建和测试框架是使用Gradle实现的,所以我希望您需要了解该技术以了解它是如何工作的。

Not aware of any such suite or tests. 不知道任何这样的套件或测试。 To start with: 首先:

  • test various query scenarios & see if queries generated are running fine for that DB - when ran standalone. 测试各种查询方案并查看生成的查询是否正常运行该数据库 - 何时独立运行。
  • test exceptions expected in all scenarios. 测试所有场景中预期的异常。
  • check on how it behaves for a new/old version of the DB driver. 检查它对新旧版本DB驱动程序的行为方式。

Best of luck! 祝你好运!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM