在另一个python文件中访问flask app端点?

时间:2018-02-05 14:02:19

标签: python unit-testing flask

我有一个python文件,它定义了一些使用flask的端点,每个端点进行一些计算并返回一个JSON(POST方法)。我想对此进行单元测试以便这样做我希望能够访问我在另一个文件中的一个python文件中创建的应用程序,以便我可以测试我的端点。

我在互联网上看到了很多这样的内容:

from source.api import app
from unittest import TestCase

class TestIntegrations(TestCase):
    def setUp(self):
        self.app = app.test_client()

    def test_thing(self):
        response = self.app.get('/')
        assert <make your assertion here>

它没有解释我如何在另一个文件中定义和访问我的应用程序。这可能是一个愚蠢的问题,但我真的不知道如何。

我的应用程序定义如下:

from flasgger import Swagger 
from flask import Flask, jsonify, request 
from flask_cors import CORS 
import os

def init_deserializer_restful_api():

# Initiate the Flask app
app = Flask(__name__)
Swagger(app)
CORS(app)

# Handler for deserializer
@app.route("/deserialize", methods=['POST'])
def handle_deserialization_request():
    pass

我以这种方式有许多其他终点。我应该这样做:

import my_file_name

谢谢!

1 个答案:

答案 0 :(得分:3)

查看此问题:What does if __name__ == "__main__": do?

只要你在python程序中拥有它,你就可以将它视为一个模块,你可以直接调用它。