做比较多的服务端接口测试后,如果是http接口,使用jmeter、postman工具来测试都是比较方便的。如果是RPC接口,使用以上的工具就会比较吃力了。如果你对Java语言比较熟悉,建议可以使用junit来进行业务场景的接口自动化测试。
Java的三大特性,封装、继承和多态。之前讲的封装和继承比较多,对多态说的不多。为什么要用到封装,因为在写接口自动化用例时,会有很多重复的调用。比如数据的创建,很多接口调用的数据很有可能都是一套,如果每次都是自己写一套,代码会非常复杂,如果业务逻辑进行了变化,维护用例也会很费劲。继承用到的不多,大部分都是方法的封装调用。
今天再说下多态的使用。不多说,上代码:
我来说个场景:
1.父类中有成员方法 method
2.子类中也有成员方法 method
3.父类中有成员变量 age
4.子类中有成员变量 age
我们在调用的过程中会如何选择呢?
父类中:
package com.liepin.rim.org.day01.test03;
//尝试下成员方法/成员变量的调用
public class Fu {
public int age = 10;
private String name;
public void method(){
System.out.println("父类的方法");
}
public String getName() {
name = "父类的" + name;
return name;
}
public void setName(String name) {
this.name = name;
}
}
子类中:
package com.liepin.rim.org.day01.test03;
public class Zi extends Fu{
public int age = 20;
private String name;
public void method(){
System.out.println("子类的方法");
}
@Override
public String getName() {
name = "子类的" + name;
return name;
}
@Override
public void setName(String name) {
this.name = name;
}
}
Test类描述:
package com.liepin.rim.org.day01.test03;
public class Test {
public static void main(String[] args){
Fu fu = new Zi();
//调用父类和子类都有的method方法(成员方法),根据多态打印子类的方法(优先子类对象的方法)
fu.method();
//调用成员变量,父类和子类都有,显示父类的
System.out.println("年龄为 " + fu.age); //成员变量显示的是父类的
//如果想调用子类中的成员变量
fu.setName("Hello");
System.out.println(fu.getName()); //调用子类的名称
}
}
我们在运行Test类后,查看运行结果:
子类的方法
年龄为 10
子类的Hello
可以看到Java多态中的成员方法,使用的是new 子类,也就是子类对象。
对于成员变量,向上转型,显示的父类的age调用,也就是10
这块之前不是很理解,也不是太了解其中的逻辑,尤其是成员方法,使用Ctrl+方法明明定位到父类的方法,但是结果却是子类的。
现在大家应该明白一些了