Я занимаюсь самообучением по новым классам данных Python.
Один из параметров, который можно передать декоратору класса данных, замораживается = True, чтобы сделать объект неизменным.
В документации (и опыте) указывается, что:
dataclasses.FrozenInstanceError
Возникнет исключение.
При модульном тестировании, хотя (с pytest), проходит следующий тест:
def test_change_page_url_values_raises_error(self, PAGE_URL):
page_url = PageURL(PAGE_URL)
with pytest.raises(AttributeError) as error:
page_url.value = PAGE_URL
где PageURL - класс данных с параметром frozen = True.
Есть идеи, почему pytest указывает, что это действие (присвоение значения page_url.value) вызывает ошибку атрибута? FrozenInstanceError наследует от AttributeError?
Примечание. Если я изменю модульный тест для проверки другого исключения (например, TypeError), тест завершится неудачно, как и ожидалось.