0

This is my function :

#File lambda_function.py

from calculate import addition
def lambda_handler(event, context):
    try:
        v = addition(2)
        return {
            "statusCode": 200,
            "body": {
                "message": v,
            },
        }
    except Exception as err:
        return {
            "statusCode": 500,
            "headers": {},
            "body": {
                "message": "error.generic",
            },
        }

#File calculate.py

def addition(x):
    return x + 1;

File test_lambda_function.py

from unittest.mock import patch
import lambda_function as lambda_function
import calculate

class TestLambdaFunction(unittest.TestCase):
    def setUp(self):
        self.member_id = 100
        self.event = {
            "body": "None",
        }
    @patch('calculate.addition', return_value=3)
    def test_lambda_handler(self, mocked_addition):
        lambda_function.lambda_handler(self.event, {})
        self.assertEqual(mocked_addition.call_count, 1)

Test result:

test_lambda_function.py:114 (TestLambdaFunction.test_lambda_handler)
1 != 0

Expected :0
Actual   :1

Please can you explain me why the test result tell me that the function isn't called. did I make a mistake in import?

khelwood
  • 55,782
  • 14
  • 81
  • 108

0 Answers0