Мне нужно проверить, существуют ли файлы xml с форматом .txt в текущем каталоге или нет. Вот мой код:
@property
def get_random_xml_file(self):
files = get_xml_files(self)
if files != 'No data':
random_file = random.choice(files)
splitext = os.path.splitext(random_file)[0]
return splitext
else:
return ''
Здесь get_xml_files дает список файлов XML, если существует, в противном случае список имеет ''
@pytest.mark.skipif(get_random_xml_file == '', reason="Works only if there's a plan.xml file")
def test_text_created(self):
assert path.exists(self.get_random_xml_file + ".txt")
То же самое выше Проходит, когда у файла xml есть файл .txt:
check.py::checkXML::test_text_created PASSED
и происходит сбой при отсутствии файлов XML, но это не пропускается:
check.py::checkXML::test_text_created FAILED
=============================================================================================================== FAILURES ================================================================================================================
___________________________________________________________________________________________________ checkXML.test_text_created ____________________________________________________________________________________________________
self = <check.TestplanalyseF object at 0x7ffff282e1d0>
@pytest.mark.skipif(get_random_xml_file == '', reason="Works only if there's a plan.xml file")
def test_text_created(self):
> assert path.exists(self.get_random_xml_file + ".txt")
E AssertionError: assert False
E + where False = <function exists at 0x7ffff7ee0a60>(('' + '.txt'))
E + where <function exists at 0x7ffff7ee0a60> = path.exists
E + and '' = <check.checkXML object at 0x7ffff282e1d0>.get_random_xml_file
check.py:53: AssertionError
Пожалуйста, помогите, как пропустить тест, когда нет XML-файла.