Не удалось создать параметризованный тестовый пример в Python. ⇐ Python
Не удалось создать параметризованный тестовый пример в Python.
Я немного новичок в Python, но в моей текущей задаче мне нужно создать параметризованный тестовый пример. Учитывая следующий тестовый пример, написанный на Python (Python 3)
импортировать pytest из test.fixtures импорт create_empty_database класс TestCreateMssql (объект): @pytest.mark.parametrize("таблица, имена_элементов, типы_элементов, ddl" [ ("special", ["id"], ["INTEGER"], """создать или заменить TABLE {table} (\n\t"id" NUMBER(38,0));"""), ("regular", ["id"], ["INTEGER"], """создать или заменить TABLE {table} (\n\t"id" NUMBER(38,0));""") ]) def test_create(self, create_empty_database, table, item_names, item_types, ddl): проходить Когда я хочу запустить этот тестовый пример через pytest:
CONFIG_LOCAL=../config_test.py pytest --setup-showtests/functional/test_create.py Я получаю следующее сообщение об ошибке:
@pytest.mark.parametrize("table, item_names, item_types, ddl" [ E TypeError: строковые индексы должны быть целыми числами. Примечание
Следующий фрагмент взят из того же репозитория, и он работает, но я не вижу какой-либо существенной разницы. Почему приведенный выше фрагмент не работает, но это нормально:
@pytest.mark.parameterize("схема, ожидается", [ ("dbo", {"tables": ["обычный", "специальный"]}), ("non_existing", {"tables": []}), ]) def test_list_tables(self, create_empty_database, схема, ожидается): Кто-нибудь может мне помочь, что я сделал не так?
Я немного новичок в Python, но в моей текущей задаче мне нужно создать параметризованный тестовый пример. Учитывая следующий тестовый пример, написанный на Python (Python 3)
импортировать pytest из test.fixtures импорт create_empty_database класс TestCreateMssql (объект): @pytest.mark.parametrize("таблица, имена_элементов, типы_элементов, ddl" [ ("special", ["id"], ["INTEGER"], """создать или заменить TABLE {table} (\n\t"id" NUMBER(38,0));"""), ("regular", ["id"], ["INTEGER"], """создать или заменить TABLE {table} (\n\t"id" NUMBER(38,0));""") ]) def test_create(self, create_empty_database, table, item_names, item_types, ddl): проходить Когда я хочу запустить этот тестовый пример через pytest:
CONFIG_LOCAL=../config_test.py pytest --setup-showtests/functional/test_create.py Я получаю следующее сообщение об ошибке:
@pytest.mark.parametrize("table, item_names, item_types, ddl" [ E TypeError: строковые индексы должны быть целыми числами. Примечание
Следующий фрагмент взят из того же репозитория, и он работает, но я не вижу какой-либо существенной разницы. Почему приведенный выше фрагмент не работает, но это нормально:
@pytest.mark.parameterize("схема, ожидается", [ ("dbo", {"tables": ["обычный", "специальный"]}), ("non_existing", {"tables": []}), ]) def test_list_tables(self, create_empty_database, схема, ожидается): Кто-нибудь может мне помочь, что я сделал не так?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение