返回
从零开始搭建接口自动化平台(二)- 从个人信息接口着手
开发工具
2023-10-11 17:06:43
前言
本篇文章是接口自动化平台系列文章的第二篇,本篇将着手实现个人信息展示接口,重点介绍数据库的设计、ORM框架的使用、接口的编写以及测试用例的撰写。
1. 数据库设计
个人信息接口需要获取用户信息,因此我们需要设计一个表来存储用户信息。表结构如下:
字段 | 类型 | 主键 | 允许空 | 默认值 | |
---|---|---|---|---|---|
id | int | 是 | 否 | 自增 | 用户ID |
username | varchar(255) | 否 | 否 | 无 | 用户名 |
password | varchar(255) | 否 | 否 | 无 | 密码 |
varchar(255) | 否 | 否 | 无 | 邮箱 | |
phone | varchar(255) | 否 | 否 | 无 | 手机号 |
address | varchar(255) | 否 | 是 | 无 | 地址 |
2. ORM框架的使用
我们使用 SQLAlchemy 作为 ORM 框架,来操作数据库。
3. 接口编写
个人信息展示接口的实现如下:
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(255), nullable=False)
password = db.Column(db.String(255), nullable=False)
email = db.Column(db.String(255), nullable=False)
phone = db.Column(db.String(255), nullable=False)
address = db.Column(db.String(255), nullable=True)
@app.route('/api/user', methods=['GET'])
def get_user():
user = User.query.filter_by(id=request.args.get('id')).first()
if user is None:
return jsonify({'error': 'User not found'}), 404
return jsonify({'user': user.to_dict()})
4. 测试用例撰写
个人信息展示接口的测试用例如下:
import unittest
import requests
class UserAPITestCase(unittest.TestCase):
def test_get_user(self):
response = requests.get('http://localhost:5000/api/user?id=1')
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json()['user']['username'], 'admin')
5. 总结
通过本篇教程,我们完成了个人信息展示接口的实现,包括数据库设计、ORM框架的使用、接口的编写以及测试用例的撰写。这些知识点都是接口自动化平台的基础,为后续的开发奠定了坚实的基础。
附录