Утверждение исключения, вызывающее сбойPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Утверждение исключения, вызывающее сбой

Сообщение Anonymous »

У меня есть класс ArgumentParser:

Код: Выделить всё

from argparse import ArgumentParser

class ArgumentHandler:

def __init__(self):
self.parser = ArgumentParser()
self.parser.add_argument('--environment', help='Environment', choices=['TEST', 'DEV', 'PROD'], nargs=1, type=str.upper)
self.parser.add_argument('--asofdate', help='As of date', nargs=1)

def parse(self):
parsed = {}

args = dict(vars(self.parser.parse_args()))
...

return parsed
Я пытаюсь проверить это с помощью unittest:

Код: Выделить всё

def test_providing_incorrect_environment(self):
print(f"RUNNING TEST CASE {inspect.currentframe().f_code.co_name}")

app = sys.argv[0] if len(sys.argv) > 0 and sys.argv[0] is not None else __file__
sys.argv = [app, '--environment=UAT' ]

with self.assertRaises(ArgumentError):
ArgumentHandler().parse()
Но я получаю следующую ошибку:

Код: Выделить всё

argparse.ArgumentError: argument --environment: invalid choice: 'UAT' (choose from 'TEST', 'DEV', 'PROD')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\SWDTOOLS\PYTHON39\lib\unittest\case.py", line 59, in testPartExecutor
yield
File "C:\SWDTOOLS\PYTHON39\lib\unittest\case.py", line 593, in run
self._callTestMethod(testMethod)
File "C:\SWDTOOLS\PYTHON39\lib\unittest\case.py", line 550, in _callTestMethod
method()
File "c:\ParisNmdProcessor\tests\components\helpers\test_argument_handler.py", line 57, in test_providing_incorrect_environment
ArgumentHandler().parse()
File "c:\ParisNmdProcessor\src\components\helpers\argument_handler.py", line 28, in parse
args = dict(vars(self.parser.parse_args()))
File "C:\SWDTOOLS\PYTHON39\lib\argparse.py", line 1818, in parse_args
args, argv = self.parse_known_args(args, namespace)
File "C:\SWDTOOLS\PYTHON39\lib\argparse.py", line 1854, in parse_known_args
self.error(str(err))
File "C:\SWDTOOLS\PYTHON39\lib\argparse.py", line 2575, in error
self.exit(2, _('%(prog)s: error: %(message)s\n') % args)
File "C:\SWDTOOLS\PYTHON39\lib\argparse.py", line 2562, in exit
_sys.exit(status)
SystemExit: 2
В чем может быть причина? И как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/784 ... ng-failure
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Приложение Angular, вызывающее PHP-скрипт, имеет сбой CORS только при POST
    Гость » » в форуме Php
    0 Ответы
    82 Просмотры
    Последнее сообщение Гость
  • Действие, имеющее noHistory, открывает выбор намерения, завершает вызывающее действие
    Anonymous » » в форуме Android
    0 Ответы
    94 Просмотры
    Последнее сообщение Anonymous
  • Как предотвратить обновление объявлений Google, вызывающее событие window.resize
    Anonymous » » в форуме Jquery
    0 Ответы
    101 Просмотры
    Последнее сообщение Anonymous
  • Создание экземпляра шаблона ядра CUDA, вызывающее ошибку компиляции
    Anonymous » » в форуме C++
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Понимание списка, вызывающее себя [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    94 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»