public class Class1Mocked {
public String hello(String name){
System.out.println("hello "+name);
return "hello "+name;
}
public void show(){
System.out.println("Class1Mocked.show()");
}
}
@Test
public void testMockMethod() {
Class1Mocked obj = createMock(Class1Mocked.class);①
expect("z3").andReturn("hello l4");②
replay(obj);③
String actual = obj.hello("z3");④
assertEquals("hello l4", actual);
verify(obj);⑤
}
改成
@Test
public void testMockMethod() {
Class1Mocked obj = createMock(Class1Mocked.class);①
expect(obj.hello("z3")).andReturn("hello l4");②
replay(obj);③
String actual = obj.hello("z3");④
assertEquals("hello l4", actual);
verify(obj);⑤
}
我刚开始还以为
expect(obj.hello("z3"))
方法接收的是方法的参数,所以就写成了
expect("z3")
事实证明,没有那么简单,很easymock会检查调用的方法的名字和那个对象