我正在使用python 3.x构建从命令行运行的测试应用程序。我有下面的代码。我想做的是在cmd行中输入“ test1 -valid test2 -invalid”,以运行test1的有效测试和test2的无效测试。
我正在使用import argparse
参数字典
'test1': {
'argument': "test1",
'description': "Runs tests against some form.",
'options': {
'valid': {
'option1': "-valid",
'option2': "--LVL1",
'action': "store_true",
'description': "Runs valid tests for the given argument",
},
'invalid': {
'option1': "-invalid",
'option2': "--LVL2",
'action': "store_true",
'description': "Runs invalid tests for the given argument",
},
'missing': {
'option1': "-missing",
'option2': "--LVL3",
'action': "store_true",
'description': "Runs missing tests for the given argument",
},
},
},
'test2': {
'argument': "test2",
'description': "Runs tests against another form.",
'options': {
'valid': {
'option1': "-valid",
'option2': "--LVL1",
'action': "store_true",
'description': "Runs valid tests for the given argument",
},
'invalid': {
'option1': "-invalid",
'option2': "--LVL2",
'action': "store_true",
'description': "Runs invalid tests for the given argument",
},
'missing': {
'option1': "-missing",
'option2': "--LVL3",
'action': "store_true",
'description': "Runs missing tests for the given argument",
},
},
},
我如何向解析器添加参数
def add_arguments(self):
arguments = self.build_arguments()
for argument in arguments:
argument_data = arguments[argument]
self.parser.add_argument(argument_data['argument'], help=argument_data['description'])
for option in argument_data['options']:
option_data = argument_data['options'][option]
self.parser.add_argument(option_data['option1'], option_data['option2'], action=option_data['action'],
help=option_data['description'])
当前我必须做test1-valid(作为一种选择)test2-invalid(也是一种选择)
我想尝试执行test1 -valid test2 -invalid
有可能吗?