[lang-ref] ( candidate_values ) ( python )
def test_candidate_values(capsys):
# choices=
import argparse
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('--frequency', choices=['monthly', 'weekly', 'daily'])
with pytest.raises(SystemExit) as e:
args = parser.parse_args(['--frequency=diary']) # wrong input
assert e.value.code == 2
captured = capsys.readouterr()
message = captured.err
assert message.startswith('usage: ') # usage and error message