在使用BDD Mockito时,verify(...)
的别名是then(...)
。then(...)
方法与verify(...)
方法功能相同,都是用于验证方法的调用。
以下是一个示例代码,演示了如何使用参数捕获器和then(...)
方法来验证方法的调用:
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.BDDMockito;
import java.util.List;
import static org.mockito.Mockito.mock;
public class MockTest {
@Test
public void testMockitoWithArgumentCaptor() {
// 创建一个mock对象
List mockedList = mock(List.class);
// 创建一个参数捕获器
ArgumentCaptor captor = ArgumentCaptor.forClass(String.class);
// 调用被测试的方法
mockedList.add("Hello Mockito");
// 使用参数捕获器来捕获方法的参数
BDDMockito.then(mockedList).should().add(captor.capture());
// 获取捕获的参数值
String capturedArgument = captor.getValue();
// 验证捕获的参数值
System.out.println(capturedArgument); // 输出:Hello Mockito
}
}
在上面的示例中,我们首先创建了一个mockedList
对象,它是一个List
类型的mock对象。然后,我们创建了一个ArgumentCaptor
对象来捕获add
方法的参数。
接下来,我们调用被测试的方法,将"Hello Mockito"作为参数传递给add
方法。然后,使用then(...)
方法来验证add
方法的调用并捕获参数值。最后,通过captor.getValue()
方法获取捕获的参数值,并进行验证。
请注意,then(...)
方法是BDDMockito
类的静态方法,用于定义验证行为。