大家好~我是
米洛
!
我正在從0到1打造一個(gè)開源的接口測(cè)試平臺(tái), 也在編寫一套與之對(duì)應(yīng)的完整教程
,希望大家多多支持。
歡迎關(guān)注我的龔仲耗測(cè)試開發(fā)坑貨
译株,獲取最新文章教程!
回顧
上一節(jié)我們編寫了測(cè)試計(jì)劃
相關(guān)功能。由于我們的數(shù)據(jù)構(gòu)造器(前置條件)還有一些不完善的挺益,所以我們這段時(shí)間要開始完善redis相關(guān)內(nèi)容歉糜。
如果把redis看做數(shù)據(jù)庫(kù)的話,我們也是需要編寫對(duì)應(yīng)的連接配置
頁(yè)面的望众,編寫完以后我們需要接入前置條件
匪补,也得能夠在頁(yè)面上在線執(zhí)行redis命令。這些都會(huì)是接下來(lái)幾天的任務(wù)烂翰。
成果圖
設(shè)計(jì)Redis配置表
redis和mysql比較類似夯缺,有一些共通的部分:
host
port
username
password
-
database
在redis中是一片一片的db,一般是0-15甘耿。而Mysql則是一個(gè)具體的庫(kù)踊兜。
除此之外,二者區(qū)別很小佳恬。主要提現(xiàn)在:
redis分為集群和單例模式捏境,集群是可以不輸入用戶密碼的
-
一般redis的連接串會(huì)把host和port合到一起,便于我們進(jìn)行集群管理
所以總結(jié)起來(lái)就是殿怜,我們基本可以照搬MySQL配置表典蝌。
from sqlalchemy import Column, INT, String, Boolean, UniqueConstraint
from app.models.basic import PityBase
class PityRedis(PityBase):
__tablename__ = "pity_redis_info"
__table_args__ = (
UniqueConstraint('env', 'name', 'deleted_at'),
)
env = Column(INT, nullable=False) # 對(duì)應(yīng)環(huán)境id
name = Column(String(24), nullable=False) # redis描述名稱
addr = Column(String(128), nullable=False)
username = Column(String(36), nullable=False)
password = Column(String(64), nullable=False)
db = Column(INT, nullable=False)
# 是否是集群曙砂,默認(rèn)為false头谜,集群可不輸入用戶密碼
cluster = Column(Boolean, default=False, nullable=False)
def __init__(self, env, name, addr, username, password, db, cluster, user):
super().__init__(user)
self.env = env
self.name = name
self.addr = addr
self.password = password
self.username = username
self.db = db
self.cluster = cluster
可以看到,他幾乎和MySQL差不多鸠澈。那我們來(lái)按照管理編寫增刪改查
接口柱告。
編寫Dao層
其實(shí)按照慣例截驮,我估計(jì)又從之前的DbConfigDao.py復(fù)制出代碼然后改一改了。
但這次我不打算這么做了际度,因?yàn)槠鋵?shí)每次寫的增刪改查
代碼雖然不完全一樣葵袭,但都很像啊9粤狻F挛!
所以如果能有個(gè)辦法可以省略這些操作窒所,那么一個(gè)后端接口就很快能夠?qū)懗鰜?lái)了~
對(duì)于我們這樣簡(jiǎn)易的接口測(cè)試平臺(tái)鹉勒,是事半功倍的。
其實(shí)思路來(lái)源于Mybatis Plus
吵取,這個(gè)框架的好處就是封裝了selectList禽额,selectById等常用api,導(dǎo)致哥們都不需要編寫具體的select方法皮官,直接傳入查詢條件
就可以了脯倒。
update更是離譜,傳入一個(gè)新對(duì)象即可捺氢。
所以可以看到具體的mapper都是繼承BaseMapper藻丢,就可以完成對(duì)應(yīng)的操作。
可能大家沒(méi)有具體的概念摄乒,我先給大家展示下半成品:
使用方式
可以看到郁岩,需要精確查找就直接傳入,需要模糊查詢的則加上like缺狠。
看起來(lái)是非常美好问慎,有興趣的朋友可以測(cè)試一下。
今天的內(nèi)容到這就結(jié)束了挤茄,下一節(jié)我們繼續(xù)完善
這個(gè)Mapper基類中的方法如叼,并實(shí)現(xiàn)一個(gè)完整的demo簡(jiǎn)化開發(fā)。
思路雖然是原創(chuàng)穷劈,但難免和其他人碰到一起笼恰,其實(shí)大家做的測(cè)試平臺(tái)思路大體都是一致的,所以如果遇到高度相似的歇终,真的還是純屬巧合社证。