Я создаю набор тестов с использованием pytest со следующим кодом:
@pytest.fixture
def input_dir():
input_dir_path = 'some_dynamic_path'
return input_dir_path
@pytest.fixture
def output_dir():
output_dir_path = 'some_dynamic_path'
return output_dir_path
scenarios = [('CI','CI.csv','a.txt','f.csv','pv.pkl','lv.pkl')]
@pytest.mark.parametrize('ac,input_file,ar_file,al_file,p_file,l_file',scenarios)
def test_func(input_dir,output_dir,ac,input_file,ar_file,al_file,p_file,l_file):
ar,al,p,l = get_calculated_data(input_dir,input_file)
def main():
test_func()
if __name__== "__main__":
try:
pytest.main(['-v','Test_Wrapper.py'])
except Exception as e:
print (e)
Теперь вышеприведенный код работает нормально, но в конечном выводе он показывает PASS один тестовый случай, потому что я прохожу все тестовые случаи (записи во входной_файл) сразу.
Test_Wrapper.py::test_func[CI-CI.csv-a.txt,f.csv,pv.pkl,lv.pkl] PASSED
Если у меня есть 20 разных идентификаторов с разной комбинацией параметров и я хочу показать их как отдельные проходы / неудачи на CMD, как я могу это сделать? то есть
ID1 PASS
ID2 PASS
Одно дело - создать файл для отдельной записи и поместить их в список «Сценарий», но это не имеет смысла. Любая помощь приветствуется.
РЕДАКТИРОВАТЬ: файл a.txt, f.csv, pv.pkl, lv.pkl содержит выходные векторы в различной форме (фрейм данных, объект pickle, список) для сравнения.