java – 在Spring中是否有用于单元测试的内存/模拟MySQL包?

在过去,我使用Fongo来编写围绕Mongo调用的单元/集成测试,这非常好. Fongo将所有数据存储在内存中,没有数据库,这正是您对单元测试所需要的.我想知道是否有任何软件包提供相同的概念来模拟MySQL?我正在使用Spring和J...

在过去,我使用Fongo来编写围绕Mongo调用的单元/集成测试,这非常好. Fongo将所有数据存储在内存中,没有数据库,这正是您对单元测试所需要的.

我想知道是否有任何软件包提供相同的概念来模拟MySQL?我正在使用Spring和JdbcTemplate类来进行查询;我希望的是我可以放入的内容,任何对JdbcTemplate的调用都将基本上被模拟.

这样的包存在吗?或者还有其他技术来实现这一目标吗?

解决方法:

我们使用HyperSQL为此目的在内存中运行的能力.它与MySQL不是100%兼容,但它适用于大多数用途.

此连接字符串告诉HyperSQL使用内存数据库.有关详细信息,请参阅doc.

A mem: database is specified by the mem: protocol. For mem: databases, the path is simply a name. Several mem: databases can exist at the same time and distinguished by their names. In the example below, the database is called “mymemdb”:

Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:mymemdb", "SA", "");

然后,当您设置JDBCTemplate时,您可以使用spring xml文件的不同测试版本.

本文标题为:java – 在Spring中是否有用于单元测试的内存/模拟MySQL包?

基础教程推荐