关于ScalaMock模拟(伴随(对象和构造函数的能力,有一些相互矛盾的说法。页面 ScalaMock 逐步状态
它还可以模拟:
- 类*单例和伴随对象(静态方法(
- 对象创建(构造函数调用(
- 具有私有构造函数的类 最终类
- 和具有最终方法的类
- 运算符(具有符号名称的方法(
- 重载方法
另一方面,路线图告诉我:
2016年第一季度 - ScalaMock 4一旦 scala.meta 可用,我们计划开始开发 ScalaMock 4。如果scala.meta兑现了它的承诺,那么ScalaMock 4应该能够模拟任何特征,无论其类型多么复杂。
此外,我们预计它还将支持:
- 改进的语法:mockObject.expects.method(arguments
- (,而不是:(mockObject.method _( expects(arguments(
- 模拟对象创建(构造函数(
- 模拟单一实例和伴随对象(静态方法( 模拟最终类
- 和使用最终方法或私有构造函数的类
那么,什么是正确的呢?当前版本(ScalaMock 3.2(是否能够模拟对象和构造函数?
经过更多的研究,看起来曾经支持模拟对象和构造函数,但不在当前版本中。对象的模拟应该在 ScalaMock 4 中重新引入。