我已阅读以下帖子:
有没有办法为 JUnit 测试用例在内存中运行 MySQL?
他们似乎解决了单元/组件级别的测试(或没有答案),但我正在对一个几乎没有测试钩子的应用程序进行系统测试。我有一个由 JPA 数据库支持的 RESTful Web 服务。我正在使用 NUnit 对 API 运行测试,但这些测试通常需要复杂的数据设置和拆卸。为了降低通过 API 调用在测试中执行此操作的成本,我想创建(理想情况下在内存中)可以使用连接字符串通过 DB 提供程序连接到的数据库。这个想法是有一个测试资源管理服务,它构建特定类型的数据库,允许测试在启动时将 SUT 重新指向一个具有预期数据的新数据库 - 一个可以在拆卸时简单地删除的数据库。
有没有办法,使用 Oracle 或 MSSQL,在内存中创建一个数据库(可能是像 C# DataSet 这样简单的东西),Web 服务器可以像生产数据库一样与之通信?老实说,快速/廉价的创建和处理与记忆一样好。
我觉得这是一个应该已经有答案的问题,但找不到它/不明白我已经找到了它。