Unit testing 如何在内存数据库中使用H2编写单元测试
我的问题可能有点奇怪,但我真的不知道如何为我已经存在的应用程序编写单元测试(我知道我应该先编写单元测试,然后编写主源代码) 我的应用程序由一些表组成,这些表将从我的Java类自动创建。我的产品数据库是PostgreSQL 现在,我想用H2数据库编写一些单元测试。 但是,我使用了一些H2不支持的数据类型(一些特殊的注释-日期/时间) 我现在是否应该在测试包中使用正确的数据类型编写错误的新模型类,以便H2能够创建表? 还是有其他我不知道的方法Unit testing 如何在内存数据库中使用H2编写单元测试,unit-testing,h2,Unit Testing,H2,我的问题可能有点奇怪,但我真的不知道如何为我已经存在的应用程序编写单元测试(我知道我应该先编写单元测试,然后编写主源代码) 我的应用程序由一些表组成,这些表将从我的Java类自动创建。我的产品数据库是PostgreSQL 现在,我想用H2数据库编写一些单元测试。 但是,我使用了一些H2不支持的数据类型(一些特殊的注释-日期/时间) 我现在是否应该在测试包中使用正确的数据类型编写错误的新模型类,以便H2能够创建表? 还是有其他我不知道的方法 非常感谢您的帮助和提示 皮蒂很高兴看到你的问题未经讨论就
非常感谢您的帮助和提示 皮蒂很高兴看到你的问题未经讨论就被否决了。其他人是否认为它不清楚或不够充实?很难说 我想建议,编写错误的模型类以便H2可以代替Postgress是个坏主意。这可能会导致测试套件和生产代码之间的阻抗不匹配,难以维护。基于错误模型的更切题的测试可能不会测试任何有用的东西。他们可能是在练习数据库,而不是模型或任何有关应用程序的重要内容。最后一点,假设您或其他人希望在将来的某个时间点进行性能基准测试;对错误的dbms使用不正确的模型进行测试是没有用的 我更喜欢在整个开发过程中使用相同的dbms——开发、测试、登台、生产等等。我知道在某些地方使用不同的数据库是很常见的,这是为了提高速度或许可证问题,但如果我不必这样做,我不会这样做。就你的情况而言,我可以想出几个选择
祝你好运。非常感谢!这稍微澄清了我的问题。谢谢