Я пытаюсь предоставить аргументы командной строки для Python unittest
и сталкиваюсь с некоторыми проблемами.Я искал в интернете и нашел способ предоставить аргументы как
unittest.main(argv=[myArg])
. Проблема в том, что это нормально работает для одного аргумента командной строки, но не удается для более чем одного аргумента.
unittest.main(argv=[myArg1, myArg2, myArg3])
Вышеприведенный вызов завершается с ошибкой, приведенной ниже:
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'
Подробнее об этом узнал, и обнаружил, что Python unittest
обрабатывает все, отправленное с использованием argv
, как тестовый пример для запуска.знать, есть ли еще способ представить более одного аргумента в мои юнит-тесты.Я хочу переопределить некоторые жестко закодированные значения, такие как IP-адрес, тег тестового примера и т. Д., И, по сути, запустить этот сценарий тестирования из основного сценария тестирования.
Заранее спасибо.