1

我有一个 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=['']),我的测试将被正确发现并且一切顺利。

使用 plain 有什么问题nose.main()

4

1 回答 1

2

sys.argv如果argv是,鼻子会读取None,我想当你像python manage.py test这样运行它时,它会被传递给sys.argv.

于 2013-11-30T07:20:56.103 回答