diff --git a/src/_pytest/assertion/util.py b/src/_pytest/assertion/util.py index 0c2d5dfb6..b11b1b2ed 100644 --- a/src/_pytest/assertion/util.py +++ b/src/_pytest/assertion/util.py @@ -222,7 +222,7 @@ def _compare_eq_any(left: Any, right: Any, verbose: int = 0) -> List[str]: other_side = right if isinstance(left, ApproxBase) else left explanation = approx_side._repr_compare(other_side) - elif isinstance(left, type(right)) and ( + elif type(left) is type(right) isdatacls(left) or isattrs(left) or isnamedtuple(left) ): # Note: unlike dataclasses/attrs, namedtuples compare only the diff --git a/testing/_py/test_local.py b/testing/_py/test_local.py index 565c89bf2..91b14aa2e 100644 --- a/testing/_py/test_local.py +++ b/testing/_py/test_local.py @@ -1573,4 +1573,4 @@ class TestBinaryAndTextMethods: x.write_text(part, "ascii") s = x.read_text("ascii") assert s == part - assert isinstance(s, type(part)) + assert type(s) is type(part)