如何嘲笑Ignition.start()

时间:2019-05-08 21:15:27

标签: java unit-testing junit mocking mockito

由于各种原因,我的单元测试环境无法访问开始点火所需的环境。我不需要点燃就可以开始测试,我希望代码只忽略对Ignition.start()的调用。我该怎么办?

我尝试过模拟点火,但是当我尝试模拟start()方法时会抛出错误。

when(ignitionMock.start())

这将导致以下错误:

org.mockito.exceptions.misusing.MissingMethodInvocationException: when()需要一个参数,该参数必须是“模拟的方法调用”。 例如:     when(mock.getArticles())。thenReturn(articles);

此外,由于以下原因,可能会出现此错误: 1.存根:final / private / equals()/ hashCode()方法之一。    那些方法 无法存根/验证。    不支持在非公共父类上声明的模拟方法。 2.在when()内部,您不会在模拟对象上调用方法,而是在其他某个对象上调用。

1 个答案:

答案 0 :(得分:1)

您可以使用doNothing()

doNothing().when(ignitionMock).start();