如何使用scala mock提供类的替代实现作为测试的存根?

时间:2015-06-07 19:11:20

标签: jmockit scalamock

我在一个项目中发现我即将贡献一些外部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。

有什么建议吗?

0 个答案:

没有答案