Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何模拟singleton对象(scala 2.7.11)?_Scala_Mockito_Powermock_Scalatest_Scalamock - Fatal编程技术网

如何模拟singleton对象(scala 2.7.11)?

如何模拟singleton对象(scala 2.7.11)?,scala,mockito,powermock,scalatest,scalamock,Scala,Mockito,Powermock,Scalatest,Scalamock,我想模拟singleton对象? 在scalamock-3中,这似乎是不可能的 我发现easyMock和powerMock可以模拟singleton对象 (来自) 然而,我不能得到这份工作? 有什么想法吗?如果singleton对象有一个静态的.getInstance方法,那么很容易进行模拟 您需要执行以下操作 在你的考试班上名列前茅 @RunWith(PowerMockRunner.class) @PrepareForTest(Singleton.class) 然后嘲笑单身汉 mockStat

我想模拟singleton对象? 在scalamock-3中,这似乎是不可能的

我发现easyMock和powerMock可以模拟singleton对象 (来自)

然而,我不能得到这份工作?
有什么想法吗?

如果singleton对象有一个静态的.getInstance方法,那么很容易进行模拟

您需要执行以下操作 在你的考试班上名列前茅

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

然后嘲笑单身汉

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


我相信您必须在“when”示例之前设置所有要返回的singleton的值:
when(mockSingleton.toString())。然后返回(“我是一个mock”)

您为什么需要它?你想解决什么问题?我有一个数据库单例对象,我想模拟这个数据库管理器。创建一个描述数据库操作的特征并在单例对象中实现这个特征不是更好吗?所以你可以嘲笑这个traitId你真的是指scala 2.7.11?这是非常古老的,它将严重限制你对语言和生态系统的使用。