本文节选自霍格沃玆测试学院内部教材,文末链接进阶学习。
在 APIObject 设计模式中,需要一个 base_api 作为其他 API 步骤的父类,把通用功能放在这个父类中,供其他的 API 直接继承调用。这样做的优点在于,减少重复代码,提高代码的复用性。
通用 API 封装实战
在上一章节在演示使用 API-Object 设计模式对脚本进行改造时提到了 base_api
。不过在上一章,仅仅只是封装了一个 utils
中的一个简单方法。并没有完全体现出 base_api
的实际作用。
接下来,我们通过通用接口协议的定义与封装实战,来实际体会一下 base_api
的巧妙之处。
- base_api.py
在代码内,对 request 进行一层封装,当然在这里还看不出来具体的优势:
import requests
class BaseApi:
def request(self, method, url