[英]Nose main() with no arguments produces odd behavior
I have a Flask app and I am using Flask-Script and Flask-Testing. 我有一个Flask应用,正在使用Flask-Script和Flask-Testing。 Basically I have a manage.py
file that looks like this: 基本上我有一个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()
My app tree looks like: 我的应用程序树如下所示:
app/
tests/
__init__.py
test_one.py
manage.py
__init__.py
holds only some things that make Flask-SQLAlchemy things work in tests and test_one.py
contains just an empty test function. __init__.py
只包含使Flask-SQLAlchemy的东西在测试中test_one.py
东西,而test_one.py
仅包含一个空的测试函数。
The odd things is: When I run python manage.py test
, it starts executing some wierd tests (I believe tests from Python itself). 奇怪的是:当我运行python manage.py test
,它开始执行一些奇怪的测试(我相信来自Python本身的测试)。 If I change nose.main()
to nose.main(argv=[''])
, my test is properly discovered and everything goes well. 如果将nose.main()
更改为nose.main(argv=[''])
,则可以正确发现我的测试,并且一切顺利。
What's wrong with using the plain nose.main()
? 使用无nose.main()
什么问题?
如果argv
为None
,则鼻子将读取sys.argv
,我认为当您像将它传递给sys.argv
python manage.py test
一样运行它时,它会显示为sys.argv
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.