我在一个项目中发现我即将贡献一些外部lib,为了测试目的,他们建立了一个模拟数据库管理器。但是,这个数据库管理器所做的是创建一个内存数据库并使用它。这是出于测试目的。
使用的框架是Jmockit。
我试图找出如何在scalamock中重现它,但无法弄清楚。
这里是如何在jmockit中设置的:
/**
* Mocks a DatabaseManager so unit tests can be run without a real DB connection
* The code is basically the same as the original DatabaseManager but it
* establishes a connection to an in-memory database.
*
* @author pvillega
*/
@MockClass(realClass = DatabaseManager.class)
public class MockDatabaseManager {...}
是否有任何东西可以支持scalamock。我知道这与所有应用程序的开发方式有关。特别是他们如何使用或不使用依赖注入。但是我们必须在某个时候处理遗留代码:)(大部分时间)
我唯一看到的是编写存根的所有功能。 A - 但这并不好。 B - 它也不是一个可以保留状态的完整类。所以一切都必须在创建存根的封闭类中进行管理。 c - 再次,遗留代码在类中做了很多有趣的事情,所以我将不得不重新创建所有代码等... d - 我希望重用他们的MockDatabaseManager。
有什么建议吗?