在尝试#python和#pocoo之后来到这里。我正在为烧瓶应用程序编写单元测试,并希望测试重定向。官方的烧瓶教程没有任何相关内容,所以我尝试使用它:http://packages.python.org/Flask-Testing/
这是我到目前为止测试教程应用程序的代码(应用程序代码在这里:https://github.com/mitsuhiko/flask/tree/master/examples/flaskr/)
from flaskext.testing import TestCase
import flaskr
from flask import Flask
class FlaskrTest(TestCase):
def create_app(self):
app = Flask(__name__)
app.config['TESTING'] = True
return app
def test_add_entry(self, title, text):
resp = app.post('/add', data=dict(title='blah',
text='Blooh'), follow_redirects=True)
self.assertRedirects(resp, '/')
if __name__ == '__main__':
myTest = FlaskrTest()
myTest.test_add_entry()
这是我得到的错误:
Traceback (most recent call last):
File "flaskr_test.py", line 17, in <module>
myTest = FlaskrTest()
File "/usr/lib/python2.7/unittest/case.py", line 185, in __init__
(self.__class__, methodName))
ValueError: no such test method in <class '__main__.FlaskrTest'>: runTest
我会感激任何帮助。 :)
答案 0 :(得分:2)
运行测试的最简单方法是使用unittest.main
来收集测试,因为flask.ext.testing.TestCase
是unittest.TestCase
的子类。所有其他测试收集器,如nose
,支持unittest.TestCase
类应该可以工作。
unittest.main
的简单示例如下所示:
import unittest
# Here your TestCases
if __name__ == '__main__':
unittest.main()
unittest
会发现您的所有测试用例和测试方法,但请注意,类和方法名称必须以test
开头。
免责声明:我是Flask-Testing的维护者。