如何模拟单例对象(scala 2.7.11)?

时间:2016-02-02 08:10:31

标签: scala mockito powermock scalatest scalamock

我想模仿单身对象? 似乎在scalamock-3中它是不可能的

我发现easyMock和powerMock可以模拟单例对象 (来自https://github.com/fabura/scala-MockStaticObjects

然而,我无法得到这项工作? 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果单例对象具有静态.getInstance方法,则很容易模拟。

您需要执行以下操作 在测试类的顶部

@RunWith(PowerMockRunner.class) @PrepareForTest(Singleton.class)

然后嘲笑单身人士

mockStatic(Singleton.class); Singleton mockSingleton = mock(Singleton.class); when(Singleton.getInstance()).thenReturn(mockSingleton);

你想要让返回的单身人士拥有的任何值我相信你必须在"之前设置"示例:when(mockSingleton.toString()).thenReturn("I'm a mock");