Модульное тестирование экземпляра класса, который является атрибутом другого класса. Работа с ошибками утвержденияPython

Программы на Python
Ответить
Anonymous
 Модульное тестирование экземпляра класса, который является атрибутом другого класса. Работа с ошибками утверждения

Сообщение Anonymous »

У меня есть класс ExternalAppSession, в котором один из атрибутов session_score определен следующим образом:

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

self.session_score = ExternalSessionScore(passing_score_value=70, max_score_value=100)
Я напечатал инструкции DEBUG в методе ExternalAppSession.__init__,

например,

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

print(f"DEBUG-MAIN: self.session_score.passing_score is {self.session_score.passing_score}")
Метод ExternalSessionScore.__init__ (self, pass_score_value, max_score_value) выглядит следующим образом:

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

self.passing_score = None
self.max_score = None
self.actual_score = None
self.passed = False
if max_score_value is not None:
self.max_score = max_score_value
if passing_score_value is not None:
self.passing_score = passing_score_value
Теперь мой метод модульного тестирования под названием test_create_session_score определяется следующим образом:

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

def test_create_session_score(create_patched_session, mock_session_score):
session = create_patched_session
mock_score_instance = mock_session_score.return_value
assert session.session_score == mock_score_instance
assert session.session_score.passing_score is not None
assert session.session_score.max_score is not None
assert session.session_score.passed is False
assert session.session_score actual_value is None
Когда я запускаю этот модульный тест, он завершается с ошибкой AssertionError в предпоследнем операторе следующим образом:

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

AssertionError: assert  is False

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

     where 

Подробнее здесь: [url]https://stackoverflow.com/questions/79886241/unit-testing-an-instance-of-a-class-that-is-an-attribute-of-another-class-deal[/url]
Ответить

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

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

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

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

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