【问题标题】:Mockito with void method [duplicate]带有 void 方法的 Mockito [重复]
【发布时间】:2018-12-04 21:44:46
【问题描述】:

我想测试返回 void 的方法。 我应该纠正什么?

public class ServicesTest 
{
@Mock
ClientDao clientDaoMock;

@InjectMocks
@Autowired
ClientService clientService;

@Before
public void setUp() throws Exception {
    MockitoAnnotations.initMocks(this);
}
//FixMe
@Test
public void saveClient() {
    when(clientDaoMock.saveClient(any(Client.class))).thenReturn(true);

    }

【问题讨论】:

    标签: mockito


    【解决方案1】:

    您应该在测试方法中直接或间接通过您的clientService 与您的模拟进行交互。您在评论中遇到了异常,因为在测试期间没有调用 saveClient

    之后,您可以验证是否使用特定参数调用方法。它应该如下所示:

    @Test
    public void saveClient() {
       // Any interaction with the mock, like:
       clientDaoMock.saveClient(aClient)
       verify(clientDaoMock, times(1)).saveClient(any(Client.class));
    }
    

    【讨论】:

      猜你喜欢
      • 2021-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多