Я хочу проверить параметры/аргументы, передаваемые моему коду, и их ожидаемый результат. Я использую Optparse
, чтобы принять эти аргументы. Сейчас код я тестирую просто выполняетTestCase для тестирования Optparse bad/missing аргумент
parser.error("Some message")
, когда мне не хватает аргументов, или если я прошел плохой аргумент.
При вводе плохих аргументов. Как я могу проверить это? Какой метод можно использовать в unittest.TestCase
, чтобы утверждать, что произошло parser.error()
?
[* "В любом случае,' optparse' обрабатывает ошибку таким же образом: он выводит сообщение об использовании программы и сообщение об ошибке в стандартный поток ошибок и выходов с состоянием ошибки 2. «*] (https://docs.python.org/2/library/optparse.html#how-optparse-handles-errors) - вы, вероятно, не можете проверить это, так как тестируемый код завершает работу Python. – jonrsharpe
Частично вне темы (не используя optparse), но я использую пакет 'click', который предлагает' от click.testing import CliRunner'. Это можно использовать для вызова команд и оценки результатов. Подробнее в [click.testing docs] (http://click.pocoo.org/5/testing/). –