4

在尝试了#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

我会很感激任何帮助。:)

4

1 回答 1

2

运行测试的最简单方法是用于unittest.main收集测试,因为. 所有其他支持类的测试收集器都应该可以工作。flask.ext.testing.TestCaseunittest.TestCasenoseunittest.TestCase

一个简单的示例unittest.main如下所示:

import unittest

# Here your TestCases

if __name__ == '__main__':
    unittest.main()

unittest将发现所有测试用例和测试方法,但请注意类和方法名称必须以test.

免责声明:我是 Flask-Testing 的维护者。

于 2012-07-24T10:29:59.357 回答