我正在尝试向Python提供命令行参数unittest并面临一些问题.我在互联网上搜索并找到了提供参数的方法
unittest.main(argv=[myArg])
Run Code Online (Sandbox Code Playgroud)
问题是这适用于单个命令行参数但对多个参数失败.
unittest.main(argv=[myArg1, myArg2, myArg3])
Run Code Online (Sandbox Code Playgroud)
以上呼叫失败,出现以下错误:
File "/opt/python2.6.6/lib/python2.6/unittest.py", line 816, in __init__
self.parseArgs(argv)
File "/opt/python2.6.6/lib/python2.6/unittest.py", line 843, in parseArgs
self.createTests()
File "/opt/python2.6.6/lib/python2.6/unittest.py", line 849, in createTests
self.module)
File "/opt/python2.6.6/lib/python2.6/unittest.py", line 613, in
loadTestsFromNames suites = [self.loadTestsFromName(name, module)
for name in names]
File "/opt/python2.6.6/lib/python2.6/unittest.py", line 584, in
loadTestsFromName parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'admin'
Run Code Online (Sandbox Code Playgroud)
深入研究并发现Python unittest将使用的所有内容argv视为要运行的测试用例.
请告诉我如果仍有办法为我的单元测试案例提供多个论据.我想覆盖一些硬编码值,如IP地址,测试用例标记等,并基本上从主测试脚本中运行此测试脚本.
提前致谢.