Модульный тест не работает при запуске в виртуальной среде, но сравнение верно [дубликат]Python

Программы на Python
Anonymous
Модульный тест не работает при запуске в виртуальной среде, но сравнение верно [дубликат]

Сообщение Anonymous »

Это класс, к которому я применяю модульные тесты

Код: Выделить всё

class DeviceId(int):
def __new__(cls, material_id):
if isinstance(material_id, str):
material_id = int(material_id)
return super().__new__(cls, material_id)

def __init__(self, material_id):
self._material_id = material_id
Это тест:

Код: Выделить всё

def test_device_id_new_with_str_material_id():
device_id = DeviceId(material_id="123456")
assert isinstance(device_id, int) # this goes True
assert device_id == 123456        # this goes False
Когда я запускаю pytest, происходит сбой, однако, если я захожу на терминал Python, создаю класс и выполняю ту же операцию для сравнения device_id == 123456 результат — True.
Почему?
Я использую Python 3.10.12 и pytest 7.4.4

Подробнее здесь: https://stackoverflow.com/questions/790 ... rison-is-t

Вернуться в «Python»