Я пытался исправить класс с помощью специального класса, например:
Код: Выделить всё
from locust.event import EventHook
from websocket import ABNF, WebSocketApp
class WebSocketAppPatch(WebSocketApp):
def __init__(self, request_event: EventHook, *args, **kwargs):
super().__init__(*args, **kwargs)
self.request_event = request_event
def send(self, data, opcode=ABNF.OPCODE_TEXT):
exception = None
try:
super().send(data, opcode)
except Exception as e:
exception = e
self.request_event.fire(
request_type="WSS",
name="send",
response_time=0,
response_length=len(data or []),
exception=exception,
context={},
)
Код: Выделить всё
from unittest.mock import patch
@patch('websocket.WebSocketApp', WebSocketAppPatch)
def test_on_patch():
sensor = Sensor()
sensor.connect() # Here the websocket is opened
sensor.send_data() # We send data via the websocket
sensor.disconnect() # Close the websocket
И я не могу найти, как добавить аргумент request_event к вызову конструктора WebSocketAppPatch.
Подробнее здесь: https://stackoverflow.com/questions/798 ... fy-a-class
Мобильная версия