我创建了一个“动态”参数列表,我将其传递给参数化。
OPTIONS = ['a', 'b', 'c']
def get_unique_pairs():
unique_list = []
for first in OPTIONS:
for second OPTIONS:
if first == second:
continue
unique_list.append({'first':first, 'second':second))
return unique_list
def some_func()
unique_pairs = get_unique_pairs()
result = []
for pair in unique_pair:
if test(pair):
continue
else:
result.append(pair)
return pair
@pytest.mark.parametrize('param', some_fnc())
def test_fnc(param):
first = param['first']
second = param['second']
我希望传递给的输入test_fnc是[('a','b'),('a','c')...('c','b')]第一个和第二个元素永远不会相同的地方。我正在使用一些额外的逻辑来进一步删除特定的对。
当我运行测试时,我得到输出:
::test_fnc[param0] PASSED
::test_fnc[param1] PASSED
::test_fnc[param2] PASSED
我有两个问题:
- 我不完全确定如何描述我正在做什么以查找更多文档/帮助。
- 我想要更多描述性的输出(即不是
param0),并且我想继续使用字典将数据传递给测试。