У меня есть несколько вспомогательных методов, которые помогают написать бизнес-логи c, такие как вставка БД или условие if-else. Эти вспомогательные методы не имеют никакого маршрута. Он может быть вызван путем внедрения в класс.
вот модульный тест:
"""Helper Agent Data Manager"""
from app.helper.agent_db_transaction import AgentDBTransaction
from app.test import BaseTest
from app.models.agent import Agent
from app.serializer.agent_serializer import AgentSerializer
agent_schema = AgentSerializer()
agent_helper = AgentDBTransaction()
class AgentHelper(BaseTest):
"""
Agent DB transaction Helper
"""
def setUp(self):
super().setUp()
obj = Agent(
agent_id='agent001',
partner_client_id='CLIENTID009',
msisdn='msisdn000',
limit_per_day='10',
limit_per_month='10',
created_by='1',
updated_by='1',
)
obj.save()
schema_response = agent_schema.jsonify(obj)
self.agent_data = schema_response.json
def test_agent_create(self):
"""test agent create """
r = self.app.agent_helper.agent_create(self.agent_data)
self.assertEqual(r.response_code, 201)
Когда я запускаю этот тест, он возвращает:
======================================================================
ERROR: test_agent_create (test_helper_agent_db_transaction.AgentHelper)
test agent create
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/selim.bongo/Sites/python/digital-agency-
ms/app/test/test_helper_agent_db_transaction.py", line 35, in test_agent_create
r = self.app.agent_helper.agent_create(self.agent_data)
AttributeError: 'Flask' object has no attribute 'agent_helper'
Как сделать Я это исправлю?