小编Lao*_*Lao的帖子

Mockito - 验证一个方法是否调用同一类中的另一个方法

我正在尝试测试一个方法是否调用同一类中的另一个方法。例子:

public class Foo {

    public void bar(String a){
        switch(a) {
            case "callBaz":
                baz(a);
                break;
            case "callBat":
                bat(a);
                break;
            default:
                System.out.println("Input was " + a);
        }
    } 

    public void baz(String b){
        System.out.println(b);
    }

    public void bat(String c){
        System.out.println(c);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试在类本身上进行模拟验证:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
public class FooTest {
    @Test
    public void testBazCalledFromBar(){
        Foo foo = new Foo();
        foo.bar("callBaz");
        Mockito.verify(foo).baz("callBaz");
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到了例外:

org.mockito.exceptions.misusing.NotAMockException: 
Argument passed to verify() is of type Foo and is not …
Run Code Online (Sandbox Code Playgroud)

java junit mockito

2
推荐指数
1
解决办法
5398
查看次数

标签 统计

java ×1

junit ×1

mockito ×1