Почему я получаю ошибку NameError для определенного мной макета?Python

Программы на Python
Ответить
Anonymous
 Почему я получаю ошибку NameError для определенного мной макета?

Сообщение Anonymous »

Тестируемый модуль определяется следующим образом:

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

def publish_result(self, lesson_report: Dict\[str, Any\]=None):
passed = self.session_score.compute_result(lesson_report)
if passed is None or passed is False:
publish_result = self.publish_failed_msg()
else:
publish_result = self.publish_passed_msg()
Мой модульный тест определяется следующим образом:

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

@patch(main.ExternalApps.ExternalAppSession.publish_failed_msg")
@patch(main.ExternalApps.ExternalAppSession.publish_passed_msg")
def test_publish_result(mock_publish_passed_msg, mock_publish_failed_msg, create_patched_session, mock_session_score, patch_create_msg, patch_publish_msg):
session = create_patched_session
session_score = session.session_score
def return_false_side_effect(value):
return False
def return_true_side_effect(value):
return True
def return_none_side_effect(value):
return None
with patch.object(ExternalSessionScore, "compute_result", side_effect=return_true_side_effect):
test_msg = create_test_message(msgVerb.Passed)
publish_result = session.publish_result(test_msg)
mock_published_passed_msg.assert_called_once()
with patch.object(ExternalSessionScore, "compute_result", side_effect=return_false_side_effect):
test_msg = create_test_message(msgVerb.Failed)
publish_result = session.publish_result(test_msg)
mock_published_failed_msg.assert_called_once()
with patch.object(ExternalSessionScore, "compute_result", side_effect=return_none_side_effect):
test_msg = create_test_message(msgVerb.Failed)
publish_result = session.publish_result(test_msg)
mock_published_failed_msg.assert_called_once()
Я запустил модульный тест, и он вернулся со следующим сбоем/ошибкой:

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

\\> mock_published_passed_msg.assert_called_once()
E NameError: name 'mock_published_passed_msg' is not defined
Почему?


Подробнее здесь: https://stackoverflow.com/questions/798 ... ve-defined
Ответить

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

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

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

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

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