Не могли бы вы помочь мне понять, что я сделал не так? У меня есть следующий модульный тест для Python лямбда
class Tests(unittest.TestCase):
def setUp(self):
//some setup
@mock.patch('functions.tested_class.requests.get')
@mock.patch('functions.helper_class.get_auth_token')
def test_tested_class(self, mock_auth, mock_get):
mock_get.side_effect = [self.mock_response]
mock_auth.return_value = "some id token"
response = get_xml(self.event, None)
self.assertEqual(response['statusCode'], 200)
Проблема в том, что когда я запускаю этот код, я получаю следующую ошибку для get_auth_token
:
Invalid URL '': No schema supplied. Perhaps you meant http://?
Я отладил его, и не похоже, что я исправил его правильно. Файл помощника по авторизации находится в той же папке «функции», что и тестируемый класс.
EDIT :
В test_class я импортировал get_auth_token так:
from functions import helper_class
from functions.helper_class import get_auth_token
...
def get_xml(event, context):
...
response_token = get_auth_token()
После перехода на это он начал нормально работать
import functions.helper_class
...
def get_xml(event, context):
...
response_token = functions.helper_class.get_auth_token()
Я до сих пор не до конца понимаю, почему