管理平台项目(vue+django)本地调测方案
- 序言 为了提高运营平台的开发效率,可以在本地启动调试。分为两种情况,一种是本地启动项目连接测试数据库,另一种情况是采用单元测试+mock方式进行功能模块的测试。本文档不仅为xx运营平台的本地调试提供指导,也可以供其它类似技术栈的本地调试提供参考。xx运营平台现有模块架构如下
不支持在 Docs 外粘贴 block
- 第一种方案: 本地项目连接测试数据库
本方案主要采用ssh隧道的方式连接远程测试数据库。
-
建立远程测试数据库,以DB测试库为 a.b.c.d:3306为例 ssh user@a.b.c.d -L 3306:a.b.c.d: 3306
-
修改数据库连接配置文件 数据库的host为127.0.0.1 port为本地的3306端口。i.e [mysql.rox] host = '127.0.0.1' port = 3306 ...
-
启动django项目
在PyCharm IDE中,设置Enviroment variables ,为了不影响部署环境配置文件的更改,可以设置自己本地调试的环境变量文件,按照下面的截图就可以启动本地调试。
-
- 启动UI(vue) 更改vue.config.js配置文件中后端请求地址的url
采用如下命令启动vue项目,在浏览器中输入 http://localhost:8080/ 就可以启动运营平台
npm run dev
- 第二种方案django单元测试+mock方式
采用django单元测试可以方便的覆盖测试模块某个逻辑所有分支的功能,采用mock方式为了解决项目中对第三方系统接口的依赖。
- 根据项目中的model生成migrations文件
python test_manage.py makemigrations
- 检查migrations文件,确保managed为托管
options={
'db_table': 'strategy',
'managed': True
}
- 修改setting配置文件,使用sqlite内存数据库 使用内存数据库,一是为了避免产生额外的外部依赖,二是为了每次单元测试都是干净的环境。
- model单元测试
注意:
1. 使用django.test下的TestCase
2. 设置setting文件
- view单元测试
注意:
1. setUp:设置单元测试的上下文,如初始化数据库数据。
2. mock.patch: mock某个函数的调用,避免对第三方系统的依赖。