【发布时间】:2014-04-02 01:42:22
【问题描述】:
我正在尝试将命令行参数传递给我的单元测试。但是,我没有使用if __name__ == '__main__' 块,因为所有内容都打包为相对路径。所以调用python path/to/test.py会抛出这个错误:
from .setup import Utilities
ValueError: Attempted relative import in non-package
我将测试称为:python -m unittest test_file.test_name。这以setUpModule() 函数启动。但是,似乎命令行解析发生在单元测试库中某处的该函数之前,因此传入任何不是模块的东西都会引发错误。这样做:python -m unittest test_file.test_name arg1 抛出:ImportError: No module named arg1。
有什么办法可以解决这个问题,而不必使用if __name__ == '__main__'?
【问题讨论】:
标签: python python-2.7 argparse python-unittest