1

在 Mockito 中,有一种很好的方法可以从与 mock 的交互中获得编程答案。例如,我们可以对 mock 进行编程以返回传递给它的方法调用的参数:

when(mockDao.persist(any(Entity.class)).thenAnswer(new Answer<Entity>() {

    public Entity answer(InvocationOnMock invocationOnMock) throws Throwable {
        Entity entity = (Entity) invocationOnMock.getArguments()[0];

        return entity;
    }
});

有没有办法在 Spock 中做同样的事情?

4

1 回答 1

4
mockDao.persist(_) >> { it[0] }

或者,通过解构:

mockDao.persist(_) >> { Entity entity -> entity }
于 2012-05-31T23:08:55.640 回答