如何使用 Spock 进行深度模拟或存根?
How to go about deep mock or stub with Spock?
如何在 Spock 中执行与 Mockito 的深度模拟/存根 (RETURNS_DEEP_STUBS) 等效的操作?类似于:
Changes changes = Mock()
changes.id(_).current() >> aChangeApi
在 Mockito 中会是:
Changes changes = mock(Changes.class, RETURNS_DEEP_STUBS);
when(changes.id(any()).current()).thenReturn(aChangeApi);
我想你可以这样做:
Changes changes = Stub()
changes.id(_) >> Stub(<ReturnedClass>) {
changes() >> aChangeApi
}
这只是 returns 一个可以进一步模拟的存根。
我对 Mockito 不是很熟悉,但通过一些 google 搜索,这似乎是应该得到类似结果的方式。
如何在 Spock 中执行与 Mockito 的深度模拟/存根 (RETURNS_DEEP_STUBS) 等效的操作?类似于:
Changes changes = Mock()
changes.id(_).current() >> aChangeApi
在 Mockito 中会是:
Changes changes = mock(Changes.class, RETURNS_DEEP_STUBS);
when(changes.id(any()).current()).thenReturn(aChangeApi);
我想你可以这样做:
Changes changes = Stub()
changes.id(_) >> Stub(<ReturnedClass>) {
changes() >> aChangeApi
}
这只是 returns 一个可以进一步模拟的存根。 我对 Mockito 不是很熟悉,但通过一些 google 搜索,这似乎是应该得到类似结果的方式。