【发布时间】:2016-02-10 13:58:56
【问题描述】:
我使用一个简单的命令来运行我的测试:
@manager.command
def test():
"""Run unit tests."""
import nose
nose.main(argv=[''])
但是,nose 支持许多现在我无法通过的有用参数。
有没有办法用 manager 命令运行鼻子(类似于上面的调用)并且仍然能够将参数传递给鼻子?例如:
python manage.py test --nose-arg1 --nose-arg2
现在我会收到来自Manager 的错误,即--nose-arg1 --nose-arg2 未被识别为有效参数。我想将这些参数传递为nose.main(argv= <<< args comming after python manage.py test ... >>>)
【问题讨论】:
-
如果
python本身的参数数量保持不变,您可以从sys传递argv[3:] -
那是我的第一次尝试,但是如果 Flask-Script Manager 看到“无法识别”的参数,而不是忽略它们,它就会退出并出错。我的问题的一个解决方案是让它忽略其余的论点,并能够像你建议的那样接受它们。
-
好吧,我应该更仔细地阅读这个问题。我找到了一种 hacky 方式来做你想做的事。我会为此写一个答案。
标签: python flask nose flask-script