Код: Выделить всё
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
Мобильная версия