这是我的代码:
#!flask/bin/python
from myProject import app
import unittest
class TestCase(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def test_login(self):
response = app.test_client().post('/login', data={})
self.assertEqual(response.status_code, 200)
if __name__ == '__main__':
unittest.main()
当我运行此脚本时,我收到以下错误:
======================================================================
FAIL: test_login (__main__.TestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test_login.py", line 16, in test_login
self.assertEqual(response.status_code, 200)
AssertionError: 404 != 200
----------------------------------------------------------------------
Ran 1 test in 0.096s
FAILED (failures=1)
EDIT1:
在app.py
文件中我有:
from flask_restful import Api
app = Flask(__name__)
api = Api(app)
class myProjectApp(object):
def setup(self):
api.add_resource(Login, '/login')
我已经获得了404.但是对/login
的简单API调用按预期工作。我的应用程序在端口5000上,如果它仍然相关。这里有什么东西我不见了吗?
EDIT2:
使用单元测试测试烧瓶restful api似乎是不同的,因为使用内置的route
装饰器可以完美地工作并且单元测试工作。我应该如何测试烧瓶的API?
答案 0 :(得分:0)
由于我使用的Api(app)
是一个用于restful web服务的外部库,因此路由无法访问。我在unittest方法中调用了setup函数来初始化Api
路由。现在它按预期工作:
myApp = myProjectApp()
self.app = myApp.setup()
设置方法包含:
def setup(self):
api.add_resource(Login, '/login')
.
.
.