cdce8p · GitHub

Bug report

Bug description:

from dataclasses import dataclass
from unittest.mock import create_autospec
@dataclass
class Description:
    name: str
mock = create_autospec(Description, instance=True)
print(isinstance(mock, Description))
# 3.13.3
True
# 3.14.0b2
False

Furthermore the resulting mock doesn't have attributes present on a dataclass instance, like __annotations__, __class__, __dataclass_fields__, __dataclass_params__.

print(dir(mock))
print(dir(Description("Hello World"))

Likely related to #124429. /CC @sobolevn

CPython versions tested on:

3.14

Operating systems tested on:

macOS

Linked PRs

Read the original on github.com ↗