烧瓶测试模块没有这样的测试方法错误



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

我将不胜感激任何帮助。 :)

运行

测试的最简单方法是使用 unittest.main 来收集测试,因为 flask.ext.testing.TestCaseunittest.TestCase 的子类。所有其他测试收集器(如支持 unittest.TestCase 类的 nose 应该可以工作。

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

import unittest
# Here your TestCases
if __name__ == '__main__':
    unittest.main()

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

免责声明:我是烧瓶测试的维护者。

最新更新