根据starUML文档产生flask专案的代码
Homepage Repository PyPI Python
pip install mwgencode==1.4.3
maxwin 团队产生工程代码的工具,uml 建模工具为starUML,工程代码包括: swagger,controller, modules,tests code,seeds code,dockerfile,babel.cfg,uwsgi file等
创建工程目录,如:order_system
cd order_system
进入cmd,在cmd 输入
gencode gsp
提示如下
gen code success!
则表示创建专案成功
> 目录app,为项目
> docs 保存uml module 文件,mdj 文件为starUML v2的文件
> migrations 数据迁移文件,工具自动产生,不需要手工维护
> swagger 为swagger file 目录,工具自动产生,不需要手工维护
> tests 单元测试代码,每次增加api时,均会产生测试模板文件
> seeds 为初始化数据的代码,可视需求增减
> root 目录下的文件说明:
备注: |
|
---|
支持对开发环境下的sqlite资料的数据迁移,不建议在生产环境中执行,避免人工失误,导致损坏资料
install or upgrade
pip install --upgrade Flask-Migrate
指定Flask app
linux 下
export FLASK_APP=migrate_run.py
windows 下
set FLASK_APP=migrate_run.py
初始化
flask db init
产生迁移语句
flask db migrate
执行升级资料库
flask db upgrade
继承tests下的test_base.py的 BasicTestCase 定义test 开头的单元方法,编写测试代码即可
> 代码样例
from .test_base import BasicTestCase
from app.models import *
from app import db
class Testexp(BasicTestCase):
# 测试model
def test_data1(self):
cet = Cacl_exp_type()
cet.code = 'cet001'
cet.description = 'cet_des001'
db.session.add(cet)
db.session.commit()
cet = Cacl_exp_type.query.first()
self.assertEqual(cet.code,'cet001')
# 测试方法
def test_health(self):
response = self.client.get(self.url_for('health'))
self.assertTrue(response.status_code, 200)
> 执行单元测试
cd tests python run.py
> 如果不是由本工具产生的专案,可 参照生成代码的方法( gencode)
> 如果是该工具产生旧代码,可先备份代码,删除工具之前产生的代码(保留gen_code_run.py和app 目录下的除__init__.py的代码)并重现运行gen_code_run.py产生框架