Scala 对象的单元测试(不是 class)

Unit test for Scala object (not class)

我在 Scala 中有一个单例 class,它被声明为 'object'。我需要在此对象中编写 'mock' 方法的单元测试。我该怎么做?我尝试使用 'PowerMockRunner' 等但没有成功。

例如:

object MyClass extends Serializable {
   def apply(): Unit = { ..... }
   def more methods....
}

现在我需要编写一个模拟 'apply' 方法的单元测试。我该怎么做?

简短的回答 - 你不应该对单例进行单元测试。

多头来了 - Unit testing with singletons.

您可以提取特征的功能并对特征进行单元测试。

不确定为什么需要 extends Serializable 但保留它只是为了说明我的意思

  object MyClass extends Serializable with TheFunctionality {
  // whatever you need here
  }

  trait TheFunctionality {
    def apply(): Unit = ???
  }