用烧瓶测试固定装置

时间:2014-04-21 13:45:51

标签: python python-2.7 flask

以下是我应用的结构

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()

0 个答案:

没有答案