У меня проблема с передачей переменной bash в pytests.Вот что запускается:
FILES="$(git ls-files)"
python3.6 -m pytest -q tests/TestStructure.py --myoption=$FILES[0] --junitxml results.xml
Это то, что находится в $ FILES, если я распечатаю его на терминал:
README.md controls_remediation/__init__.py controls_remediation/control_handler.py controls_remediation/dbfunctions.py controls_remediation/main.py controls_remediation/pandafunctions.py controls_remediation/utilities/CONSTANTS.py controls_remediation/utilities/__init__.py controls_remediation/utilities/hadoopconnect.py controls_remediation/utilities/log_helper.py controls_remediation/utilities/settings_constants.py kafka_controls/KAFKACONSTANTS.py kafka_controls/__init__.py kafka_controls/producer.py setup.py tests/TestStructure.py tests/__init__.py tests/conftest.py tests/functional/TestFunctional.py tests/functional/__init__.py tests/unit/TestKafka.py tests/unit/TestPandaFunctions.py tests/unit/__init__.py
Вот как выглядит TestStructure.py:
import pytest
def test_answer(myoption):
if myoption == "this":
print ("do this option")
elif myoption == "that":
print ("do that option")
else:
print(myoption)
assert 0
А вот как выглядит conftest.py:
import pytest
def pytest_addoption(parser):
parser.addoption("--myoption", action="store", default="that",
help="my option: this or that")
@pytest.fixture
def myoption(request):
return request.config.getoption("--myoption")
Это ошибка, которую я получаю, когда запускаю pytest с использованием первой части:
no tests ran in 0.00 seconds
ERROR: file not found: tests/unit/__init__.py[0]
Я действительно понятия не имею, как это исправить.