Ich versuche, SoapClient mit dem folgenden Code zu verspotten:
%Vor%Dies wird nicht funktionieren, da phpunit mockbuilder die Funktion getAuthenticateServiceSettings nicht findet. Dies ist eine Soap-Funktion, die in der WSDL angegeben ist.
Wenn ich jedoch die SoapClient-Klasse und die getAuthenticateServiceSettings-Methode erweitere, funktioniert es.
Das Problem ist, ich habe 100 von SOAP-Aufrufen, alle mit ihren eigenen Parametern usw., also möchte ich nicht jede einzelne SOAP-Funktion vortäuschen und mehr oder weniger die ganze WSDL-Datei neu erstellen ...
Gibt es eine Möglichkeit, "magische" Methoden zu verspotten?
Mit PHPUnit können Sie einen Webservice basierend auf einer WSDL-Datei stubben.
%Vor%Siehe Beispiel hier:
Normalerweise arbeite ich nicht direkt mit der Klasse \ SoapClient, stattdessen verwende ich eine Client-Klasse, die den SoapClient verwendet. Zum Beispiel:
%Vor%Auf diese Weise ist es einfacher, die Client-Klasse zu verspotten, als den SoapClient zu verspotten.
Tags und Links php phpunit soap web-services wsdl