1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
from dataclasses import dataclass, field
import pytest
from apischema import deserialize, settings
@dataclass
class Foo:
no_default: int
default: str = ""
default_factory: list = field(default_factory=list)
@pytest.mark.parametrize("override", [True, False])
def test_override_dataclass_constructors(monkeypatch, override):
monkeypatch.setattr(
settings.deserialization, "override_dataclass_constructors", override
)
assert deserialize(Foo, {"no_default": 0}) == Foo(0, "", [])
|