Ich verwende bottle Rahmen. Ich habe Code wieMock bottle.request Objekt in Python
from bottle import request
def abc():
x = request.get_header('x')
...
...
data = request.json()
...
...
I UTs für diese Funktion schreibe, möchte ich get_header
und json
von bottle.request
verspotten, und kehren meine Mock Daten aus, dass.
Ich versuchte es.
from mock import patch
@patch('bottle.request.headers', return_value={'x': 'x'})
@patch('bottle.request.json', return_value=...)
def test_abc(self, _, __):
...
...
Aber es gibt Fehler für request.headers
ist schreibgeschützt. Ich muss auch request.json
vortäuschen.
Danke für Hilfe im Voraus :).
Verspotten Sie das eigentliche 'request' Objekt und geben Sie ihm die entsprechenden' json' und 'header' Attribute. –
@AlexHall, Danke für die Antwort. Wenn ich das gesamte "Anfrage" -Objekt verspotze, dann muss ich viele Attribute derselben vortäuschen. Gibt es eine Möglichkeit, nur 1-2 Attribut zu verspotten, dann ist es eine gute Option. – Nilesh
@AlexHallI versuchte 'request = Mock (headers = {'x': 'x'}, json = {})' aber es schlägt fehl. :( – Nilesh