由于各种原因,我的单元测试环境无法访问开始点火所需的环境。我不需要点燃就可以开始测试,我希望代码只忽略对Ignition.start()的调用。我该怎么办?
我尝试过模拟点火,但是当我尝试模拟start()方法时会抛出错误。
when(ignitionMock.start())
这将导致以下错误:
org.mockito.exceptions.misusing.MissingMethodInvocationException: when()需要一个参数,该参数必须是“模拟的方法调用”。 例如: when(mock.getArticles())。thenReturn(articles);
此外,由于以下原因,可能会出现此错误: 1.存根:final / private / equals()/ hashCode()方法之一。 那些方法 无法存根/验证。 不支持在非公共父类上声明的模拟方法。 2.在when()内部,您不会在模拟对象上调用方法,而是在其他某个对象上调用。
答案 0 :(得分:1)
您可以使用doNothing()
:
doNothing().when(ignitionMock).start();