gpt4 book ai didi

java - 无法在 eclipse 中使用mockito验证方法调用

转载 作者:行者123 更新时间:2023-12-01 17:59:22 24 4
gpt4 key购买 nike

我正在尝试使用 Mockito 对调用方法的次数进行一些验证,但是我在我能找到的所有教程中看到的语法导致 eclipse 中出现“ Unresolved 编译问题”错误。我正在 mock 的类(class)是:

public class ClassToBeMocked {
public void methodToVerify(String input) {

}
}

测试是:

@RunWith(MockitoJUnitRunner.class)
public class MockitoTest {
@Mock ClassToBeMocked mockedClass;

@Before
public void setUp() throws Exception {
this.mockedClass = Mockito.mock(ClassToBeMocked.class);
}

@Test
public void test() {
Mockito.verify(mockedClass, Mockito.never()).methodToVerify();
}
}

但是当我尝试在 Eclipse 中运行测试时,出现此错误:

java.lang.Error: Unresolved compilation problem: 
The method methodToVerify(String) in the type ClassToBeMocked is not applicable for the arguments ()

at MockitoTest.test(MockitoTest.java:28)
at . . .

乍一看,这个错误似乎符合逻辑:毕竟,看起来好像我在调用一个方法而没有传入所需的参数。但我认为 Mockito 会做一些幕后工作来使其发挥作用。

如果我对框架的使用是错误的,那么我应该如何验证这个方法?

我使用的是 Mockito 版本 2.7.6。我还没有尝试在 eclipse 之外运行测试,因为我是 java/junit/mockito/maven 的新手,而且我还没有弄清楚如何从终端运行测试。

最佳答案

您需要包含一个参数匹配器,例如anyString() :

Mockito.verify(mockedClass, Mockito.never()).methodToVerify(Mockito.anyString());

关于java - 无法在 eclipse 中使用mockito验证方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42241095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com