【发布时间】:2016-03-10 09:41:16
【问题描述】:
我需要存根 Java.util.concurrent.Executors 类的 newFixedThreadPool 方法并验证它。
Executors.newFixedThreadPool(executorServiceThreadCount, threadFactory)
我尝试创建一个全局 Executors 值来覆盖测试片段。
lazy val executors = Executors
但 newFixedThreadPool 方法无法从 executors 实例中访问。 我应该怎么做才能存根这个方法。对此有什么最佳实践吗?谢谢
【问题讨论】:
-
简短回答:你不能。静态方法是全局的,并且一劳永逸地定义,您不能覆盖它们。您可以尝试定义一个新特征,该特征将转发到
Executors的方法并在您的所有代码中使用它。然后你可以“存根”这个特征。
标签: scala unit-testing mockito scalatest