我有一个Flask应用程序,我正在使用Flask-Script和Flask-Testing。基本上我有一个manage.py
文件,如下所示:
from flask.ext.script import Manager
from app import app, db
manager = Manager(app)
@manager.command
def test():
import nose
nose.main()
if __name__ == '__main__':
manager.run()
我的应用树看起来像:
app/
tests/
__init__.py
test_one.py
manage.py
__init__.py
只包含一些使Flask-SQLAlchemy在测试中起作用的东西,test_one.py
只包含一个空的测试函数。
奇怪的是:当我运行python manage.py test
时,它开始执行一些奇怪的测试(我相信来自Python本身的测试)。
如果我将nose.main()
更改为nose.main(argv=[''])
,我的测试会被正确发现并且一切顺利。
使用普通nose.main()
?
答案 0 :(得分:2)
当sys.argv
为argv
时,Nose将会显示None
,我认为当您像python manage.py test
那样运行它时会传递给sys.argv
。