MagicMock из NamedTuple - фальси в питоне - PullRequest
0 голосов
/ 05 февраля 2019

Я бы ожидал bool(MagicMock(x)) == bool(x) для любого типа, который не делает смешных вещей с __bool__.Тем не менее, я получаю неожиданное поведение с typing.NamedTuple

from unittest.mock import MagicMock
from typing import NamedTuple

class A:
    pass

# these work as I'd expect
bool(A)  # True
bool(A())  # True
bool(MagicMock(A))  # True

B = NamedTuple('B', [('b', int)])

bool(B)  # True
bool(B(b=1))  # True
bool(MagicMock(B))  # False ?!!!

Кто-нибудь знает, почему NamedTuple и MagicMock взаимодействуют так?

...