How can I create a mock of a dataclass so that asdict works on it?
This doesn't seem to work:
>>> from dataclasses import dataclass, asdict
>>> @dataclass
... class A:
... foo: int
>>> asdict(A(foo=1))
{'foo': 1}
>>> from unittest import mock
>>>
>>> asdict(mock.create_autospec(A))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.8/dataclasses.py", line 1072, in asdict
raise TypeError("asdict() should be called on dataclass instances")
TypeError: asdict() should be called on dataclass instances
Note: Python 3.8.5