java - 验证模拟对象的方法

标签 java junit powermockito

假设我有一个这样的类(class):

public class Foo {
    private Bar bar;
    public Foo(Bar bar) {
        this.bar = bar;
    }

    public void someMethod() {
        bar.someOtherMethod();
    }
}

当调用 someMethod() 时,如何验证 bar.someOtherMethod() 是否被调用一次?在我的测试中,我将模拟的 Bar 类传递到构造函数中。

我的测试看起来像这样:

private Bar bar;
private Foo foo;

@Before
public void setUp() throws Exception {
    bar = mock(Bar.class);
    foo = new Foo(bar);
}

@Test
public void testSomeMethod() {
    foo.someMethod();
    verify(Bar).someOtherMethod();
}

最佳答案

与 Mockito -

verify(mockBar, times(1)).someOtherMethod();

关于java - 验证模拟对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30065766/

相关文章:

java - PowerMockito如何在构造函数调用时抛出异常

java - 通过查询查找已删除的行数

Java - 访问ArrayList中对象的原始类型

java - 在不重构的情况下使用 mockito 测试本地作用域对象

git - 检测 jenkins 上的测试失败

java - 如何使用 mockito 为同一类的私有(private)方法 stub 返回值

java - 如何通过 PowerMockito 模拟多个静态类

java - 是否可以将 ANTLR4 铁路图导出为 png 格式?如果是这样,怎么办?

java - 在应用程序上使用 Intent 共享图像时出现错误共享失败

Java——字符串转换