У меня есть класс, который я хотел бы создать, используя различные наборы входных параметров, сравнивая свойство результирующего объекта с переданным значением.
Я использую косвенный флаг на @ pytest.fixture для аргументов, которые отправляются в конструктор класса.Я пытаюсь распаковать kwargs в конструкторе.Безуспешно.Это ошибка:
TypeError: аргумент типа объекта после ** должен быть отображением, а не SubRequest
Code:
import pytest
class MyClass:
def __init__(self, a):
self.a = a
@pytest.fixture
def my_object(request):
yield MyClass(**request)
# first element = arguments to MyClass, second element = value to compare test to
TEST_CASES = [({"a":1}, 1)]
@pytest.mark.parametrize("test, expected", TEST_CASES, indirect=["test"])
def test_1(my_object, test, expected):
assert my_object.a == expected
Моя цель - получить объектаргументы и их тестовое значение TEST_CASES в одной структуре для удобства проверки