1

我在一个项目中发现我即将贡献一些外部库,为了测试目的,他们设置了一个模拟数据库管理器。然而,这个数据库管理器所做的是创建一个内存数据库并使用它。这是为了测试目的。

使用的框架是 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。

有什么建议吗?

4

0 回答 0