我如何模拟bean返回自己的参数?

时间:2018-03-21 14:02:25

标签: java spring testing junit

我有一个类似于......的存储库类。

public class StuffRepository {
    public Stuff save(Stuff v);
}

我想使用@MockBean返回第一个参数v进行模拟。 我怎么能这样做?

@MockBean
private StuffRepository stuffRepository;

public void test() {
    given(stuffRepository.save(??)).willReturn(??);
}

2 个答案:

答案 0 :(得分:2)

模拟Stuff并将其作为返回值。

@MockBean
private StuffRepository stuffRepository;
@Mock
private Stuff v;

public void test() {
    given(stuffRepository.save(v)).willReturn(v);
}

答案 1 :(得分:2)

您使用Answer模拟版本。

given(stuffRepository.save(any())).will(i -> {
    return i.getArgument(0);
});