我Flask-Script
用来在我的应用程序上运行测试,我的manage.py
文件的重要部分如下所示:
import unittest
from flask.ext.script import Manager
from project import app
manager = Manager(app)
@manager.command
def test():
"""Run unit tests."""
app.config.from_object('config.Test')
tests = unittest.TestLoader().discover('tests', pattern='*.py')
unittest.TextTestRunner(verbosity=1).run(tests)
但是当我运行python manage.py test
它时,它会尝试初始化整个应用程序,例如,如果我没有设置我的环境变量,它会KeyError
从我的项目__init__.py
文件中抛出一个,如下所示:
File "project/__init__.py", line 19, in <module>
app.config.from_object(os.environ['PROJECT_SETTINGS'])
或者,如果我设置了环境变量,则会收到有关缺少数据库表的错误。
当然,只有在测试运行并且在test()
函数中设置了配置变量后,应用程序才应该初始化。