【问题标题】:How to go about deep mock or stub with Spock?如何使用 Spock 进行深度模拟或存根?
【发布时间】:2016-10-21 07:46:20
【问题描述】:

如何在 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);

【问题讨论】:

    标签: mockito spock


    【解决方案1】:

    我认为你可以这样做:

    Changes changes = Stub()
    changes.id(_) >> Stub(<ReturnedClass>) {
        changes() >> aChangeApi
    }
    

    这只是返回一个存根,然后可以进一步模拟。 我对 Mockito 不是很熟悉,但是从一些谷歌搜索来看,这似乎是应该得到类似结果的方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 2019-02-03
      • 2016-08-18
      • 1970-01-01
      相关资源
      最近更新 更多