首页 > 解决方案 > 测试我的烧瓶应用程序时如何修复我的 unittest 405 != 200 错误?

问题描述

第一次使用单元测试并尝试运行和测试我的烧瓶应用程序。我的 Flask app.py 中有基本的东西:

from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
port = 5000
@app.route('/',methods=['POST'])
def main():
    data = request.get_json()

在我的 test.py 中,我有:

from app import app
class testing(unittest.TestCase):
    def setUp(self):
        app.config['TESTING'] = True
        app.config['WTF_CSRF_ENABLED'] = False
        app.config['DEBUG'] = False
        self.app = app.test_client()
        self.assertEqual(app.debug, False)

    def tearDown(self):
        pass

    def test_main_page(self):
        response = self.app.get('/', follow_redirects=True)
        self.assertEqual(response.status_code, 200)

不断收到断言错误 405 != 200 我跑python -m unittest test.py 了 没有跑。所以我尝试python -m flask run在拆分终端中运行然后运行单元测试,但仍然没有工作。对此仍然很陌生,所以不确定我是否只是缺少一些代码。我在代码中运行并通过了其他单元测试,但它们只是检查功能而不是实际的烧瓶应用程序。

标签: pythonunit-testingflaskpython-unittest

解决方案


405 错误的修复方法是路由需要 POST 或 GET。根据您的烧瓶应用程序,确保您使用正确self.app.post('/',follow_redirects=True)self.app.get('/',follow_redirects=True)


推荐阅读