java - 用于非 Spring 应用程序的 Junit 测试的嵌入式数据库

标签 java junit junit4 h2 embedded-database

我正在寻找一个可以在 JUnit 4.12 测试中使用的嵌入式数据库。由于我们代码库和时间线的当前性质,我们不可能模拟数据库调用。我们只关心Mysql数据库。所以我正在寻找某种嵌入式数据库,我可以在每次测试运行之前初始化它,然后在测试后清除它。一些类似于什么wiremock对于http服务器来说。

我已经浏览过this &似乎可以通过H2嵌入式数据库来实现它。我在网上找到的大多数链接都讨论了如何将它与 Spring 一起使用。

有人可以告诉我吗

  1. 如果可以使用 H2 实现相同的效果作为非 Spring 应用程序的 Junit 测试的嵌入式数据库?如果是的话,有人可以让我知道如何执行此操作或向我指出一些解释此用例的链接吗?
  2. 除了 H2 之外,我还可以使用其他一些工具来实现我的目标吗?

最佳答案

我认为您可以使用 H2,但我更喜欢使用 hsqldb 来实现此目的。我需要一些嵌入式数据库,它可以模仿 sql 中的一些 Oracle 特定功能。据我所知,您可以使用任何嵌入式 Java 数据库进行单元测试。

关于java - 用于非 Spring 应用程序的 Junit 测试的嵌入式数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36052531/

相关文章:

java - 类型不匹配 : cannot convert from element type Object to int

java - Jackson @JsonIgnoreType 不适用于静态内部类

xml - 规范用于 JUnit XML 输出

java - HttpClient错误: Please try enabling cookies or turning off Private Mode

java - jMockit:如何期望构造函数调用模拟对象?

java - Properties.loadFromXML NullPointerException 与 jUnit

使用 FunctionalTestCase 测试异步 Mule Flow

java - 如何使用Java检查Selenium WebDriver中的必填字段是否为空?

java - 我可以出于测试目的修改字段的值吗?

java - HQL :Invalid Path in Multiple different Joins