![]() |
1
1
scalamock使用宏定义生成子类。 该宏在编译器运行期间得到扩展/求值。 由于mock是子类,因此将调用超类的构造函数-没有异常。 你也许可以使用一些cglib魔法来解决这个问题,但这不是我所熟悉的。 因此,这在旧的scalamock版本中是可能的,但是这个特性在当前实现中不会很快恢复。 另一种选择是自己将这个东西划分为子类并模拟子类
这在某些情况下是有效的,但是如果构造函数依赖于非最终方法调用,那么您也会看到有趣的行为(例如npe)。 |