java EasyMock对于有参无返回至的方法怎么模拟?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java EasyMock对于有参无返回至的方法怎么模拟?相关的知识,希望对你有一定的参考价值。
无参无返回值得方法可以使用EasyMock.expectLastCall()没有问题
EasyMock类的文档里说了:
public static <T> IExpectationSetters<T> expectLastCall()
Returns the expectation setter for the last expected invocation in the
current thread. This method is used for expected invocations on void
methods.
EasyMock.expectLastCall();
EasyMock.replay(dbMapper);
userService.addUser(newUser1);
还可以使用andAnswer:
mockObject.someMethod(eq(param1), eq(param2));expectLastCall().andAnswer(new IAnswer()
public Object answer()
//supply your mock implementation here...
SomeClass arg1 = (SomeClass) getCurrentArguments()[0];
AnotherClass arg2 = (AnotherClass) getCurrentArguments()[1];
arg1.doSomething(blah);
//return the value to be returned by the method (null for void)
return null;
); 参考技术A EasyMock 是你定义的一个类吗? public static void expectLastCall(); 当调用时EasyMock.expectLastCall() 就可以了。
Java的有参无参和变量
1.有参数无返回值的方法
无参数无返回值的方法是形式最为简单的一种方法,但是功能上存在很大的局限性,若要实现更加灵活的功能,可以为方法提供参数,这样会大大提升方法的灵活性。
语法:访问修饰符 void 方法名(形式参数列表)
方法体;
调用语法:方法名(实际参数列表);
示例:实现按指定次数输出指定信息。
public class ShowMsgDemo
//定义方法实现按指定次数输出指定信息
public void showMsg(String message, int count)
for (int i = 0; i < count; i++)
System.out.println(message);
public static void main(String[] args)
Scanner sc = new Scanner(System.in);
System.out.println("请输入要输出的信息:");
String msg = sc.nextLine();//不会在缓冲区保留\\r
System.out.println("请输入要输出的次数:");
int nums = sc.nextInt();
//调用方法
ShowMsgDemo smd = new ShowMsgDemo();
smd.showMsg(msg, nums);
2.参数传递过程
方法参数是主调方法与被调方法进行数据传递的主要渠道,方法的参数分为形式参数和实际参数两种:
- 形式参数出现在方法定义中,在整个方法内部有效。
- 实际参数出现在主调方法中,其作用是将实参的值传递给被调方法的形参,从而实现主调方法向被调方法传递数据的功能。
要实现正确的参数传递,形参列表与实参列表在参数的个数、类型以及顺序上必须一一对应。
3.成员变量和局部变量
类中定义的属性为成员变量,方法内部定义的变量为局部变量。
成员变量
成员变量指的是在类范围里定义的变量,也就是属性。
语法:实例.实例成员名
每个实例的实例成员被实例所拥有,相同类型类的不同实例,它们的实例字段互不影响。
示例:
public static void main(String[] args)
People p1 = new People();
p1.name = "张三";
p1.money = 1000;
People p2 = new People();
p2.name = "李四";
p2.money = 5000;
// 调用方法
p1.showMoney();
p2.showMoney();
局部变量
局部变量分为三类:
- 方法的参数
- 方法内部声明的变量
- 代码块中声明的变量。
示例:成员变量和局部变量同名
//成员变量
String name = "zhangsan";
public void test()
//局部变量
String name = "lisi";
System.out.println(name);
public static void main(String[] args)
SameNameDemo snd = new SameNameDemo();
snd.test();
总结:
- 定义方法要确定访问修饰符、返回类型、方法名和参数列表。
- 方法的参数分为形参与实参,形参是方法定义时在参数列表中声明的参数,实参是调用方法时传给形参的值。
- 类中的变量分为成员变量和局部变量,成员变量是类的属性,局部变量是指在方法中或方法语句块中定义的变量。 成
- 员变量与局部变量的作用域不同,成员变量能在类的所有方法中使用,局部变量只能在声明它的方法中或声明它的语句块中使用。
以上是关于java EasyMock对于有参无返回至的方法怎么模拟?的主要内容,如果未能解决你的问题,请参考以下文章