以下是我应用的结构
run.py
setup.py
app/
blueprints/
__init__.py
bp_to_test.py
another_bp_to_test.py
models/
Parser.py
one_csv.py
static/
fixtures/
json/
csv/
json/
csv/
tests/
__init__.py
run_all.py
__init__.py
views.py
现在我希望这两个蓝图针对json/
和csv/
中找到的更多当前数据运行,但是,我想创建一个测试环境,可以针对静态数据的固定设备对其进行测试。蓝图看起来像这样:
bp_to_test = Blueprint('some_name', __name__)
bp_to_test.data = Parser(p, '/path/to/current/csv')
@bp_to_test.route('/get_some_data', methods=['GET', 'POST'])
def get_some_data():
#play around with data
return new_data
在我在蓝图中找到的__init__.py
中,我使用app.register_blueprint(bp_to_test, url_prefix='/some_prefix')
在应用中注册了它。
我想做一个'测试'我可以用夹具数据测试它的路线。怎么可以这样做?
我的测试类目前看起来像这样: 来自app导入应用 来自flask import json
class TestSuite():
def __init__(self):
self.app = app.test_client()
self.ctx = app.test_request_context()
self.ctx.push()
def run_tests(self):
try:
with app.test_client() as c:
for rule in app.url_map.iter_rules():
if rule.rule.startswith('/test') and len(rule.arguments) == 0:
resp = c.get(rule.rule)
j = json.loads(resp.data)
finally:
self.ctx.pop()