接口测试与编程语言中的interface(十六)

接口测试

程序接口:可以看作是程序模块接口,具体到程序中一般就是提供了输入输出的类,方法或函数。对于程序接口的测试,一般需要使用于开发程序接口相同的编程语言,通过对类,方法和函数的调用,验证其返回结果是否正确来进行测试。
协议接口:指系统通过不同的协议提供的接口,例如使用HTTP/SOAP协议等。这种类型的接口对底层代码做了封装,通过协议的方式对外提供调用。因不涉及底层程序,所以,一般不受编程语言的限制。可以通过接口测试工具或其他编程语言进行测试。

编程语言中的接口

1.java中的interface。

1).接口在java编程语言中是指一个抽象类型,是抽象方法的集合,通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
2).接口不是类,它们是不同的概念。类描述对象的属性和方法。接口包含类要实现的方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。
3).接口的特点在于它只定义规范,而不管具体的实现,具体实现由接口的实现者完成。

1.1.定义接口,IAnimal.java
package test.demo;

public interface IAnimal {
    public String Behavior(); // 行为方法,描述各种动物的特性
}
1.2.实现动物接口(dog类)
package test.demo;

// 类:狗
public class Dog implements IAnimal {
    @override
    public String Behavior() {
        String ActiveTime = '我晚上睡觉,白天活动';
        return ActiveTime;
    }
}
1.3.实现Cat类动物接口。
package test.demo;

// 类:猫
public class Cat implements IAnimal {
    @override
    public String Behavior() {
        String ActiveTime = '我白天睡觉,晚上捉老鼠';
        return ActiveTime;
    }
}
1.4.测动物接口的具体实现(Dog类和Cat类)。
package test.demo;

public class Test {
    public static void main(String[] args) {
        // 调用dog和cat的行为
        Dog dog = new Dog();
        Cat cat = new Cat();
        System.out.print(dog.Behavior());
        System.out.print(cat.Behavior());
    }
}

上述的测试并不是测试的接口,因为接口本身只是抽象的定义,并没有可测试性,这里所测的是已经实现了接口的类。

2.Python中的Zope.interface.

在python语言中也有interface的概念,虽然python本身并不提供interface的创建和使用,但是可以通过第三方扩展库来使用类似interface的概念,这里选用Zope.interface库。
pypi地址

2.1.第一个普通的例子,demo.py文件代码实现如下:
class Host(object):
    def goodmorning(sefl, name):
        return "Good morning, %s!" % name

if __name__ == '__main__':
    h = Host()
    hi = h.goodmorning('zhangsan')
    print(hi)
2.2.在上述demo.py的基础上使用interface(只使用python3),interface_demo.py文件的代码实现如下:
from zope.interface import Interface  
from zope.interface.declarations import implementer

# 定义接口
class Host(Interface):
    def goodmorning(self,host):

@implementer(IHost) # 继承接口
class Host:
    def goodmorning(self, guest):
        return "Good morning, %s!" % guest

if __name__ == '__main__':
    p = Host()
    hi = p.goodmorning('Tom')
    print(hi)

请正确区分进行接口测试时测的接口同编程语言中接口的区别。不太懂的,可以自行百度。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值