Модульный тест не работает при запуске в виртуальной среде, но сравнение верно [дубликат]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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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