У меня есть три файла
helper.py
class helper:
def __init__(self, out_file):
self.out_file = out_file
def foo(first, second):
# Write data to file
flask_API.py
from helper import helper
@app.route('/', methods=['POST'])
def parse_request():
content = request.get_json()
out_file = #based on timestamp
helper(out_file).foo(content['first'], content['second'])
test_ flask .py
import unittest
from unittest.mock import patch
import flask_API
class testFlaskAPI(unittest.TestCase):
def setUp(self):
self.app = flask_API.app.test_client()
self.app.test = True
@patch('flask_API.app.helper', return_value=None)
def test_service(self, mock_helper):
response = self.app.post(base_url, data=json.dumps({"some":"value"}, content_type='application/json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
У меня проблемы с издевательством над классом помощника. Это дает мне ошибку, говорящую
AttributeError: <Flask 'flask_API'> does not have the attribute 'helper'
Я прочитал, что класс / метод должен быть смоделирован там, где он вызывается, а не там, где он определен. Что-то не так с тем, как я исправляю класс?