Mockito:Comment se moquer de la méthode appelée à l'intérieur d'une autre méthode

Je suis nouveau sur mockito et je suis en utilisant mockito à la méthode d'essai qui est l'appel d'une autre méthode et appelle la méthode renvoie la chaîne de caractères.
J'ai essayé, mais je suis incapable d'écrire le test. S'il vous plaît aider

public class MyClass {
protected String processIncominData(String input) {
String request = ...;
...
String response = forwardRequest(request);
...
return response;
}
public String forwardRequest(String requestToSocket) {
String hostname = socketServerName;
int port = socketServerPort;
String responseLine=null;
Socket clientSocket = null;  
PrintStream outs=null;
BufferedReader is = null;
BufferedWriter bwriter=null;
try {
clientSocket = new Socket(hostname, port);
outs=new PrintStream(clientSocket.getOutputStream());
is = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
bwriter = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
} catch (UnknownHostException e) {
LOGGER.error("Don't know about host: " + hostname + e.getMessage());
} catch (IOException e) {
LOGGER.error("Couldn't get I/O for the connection to: " + hostname + e.getMessage());
}
if (clientSocket == null || outs == null || is == null) {
LOGGER.error("Something is wrong. One variable is null.");
}
try {
while ( true ) {
StringBuilder sb = new StringBuilder();
sb.append(requestToSocket);
String  request = sb.toString().trim();
bwriter.write(request);
bwriter.write("\r\n");
bwriter.flush();
responseLine = is.readLine();
LOGGER.info("Socket returns : " + responseLine);
//outs.println(responseLine);
bwriter.close();
}
} catch (UnknownHostException e) {
LOGGER.error("Trying to connect to unknown host: "+ e.getMessage());
} catch (IOException e) {
LOGGER.error("IOException:  "+ e.getMessage());
}
finally{
try {
outs.close();
is.close();
clientSocket.close(); 
} catch (IOException e) {
e.printStackTrace();
}
}
return responseLine;
}
}

Je veux pour se moquer de réponse xml ici pour tester processIncomingData méthode..Cette réponse est à venir à partir de socket serveur et je suis de l'envoi de la demande par le socket client. Je pense que la prise ne sera pas grave si je peux maquette xmlResponse de socket. Veuillez donner toute réponse utile

Montrer comment xmlResponse est généré. Vous avez besoin d'utiliser une maquette à la ligne String xmlResponse = ...;. Si c'est une méthode d'instance d'appel, l'utilisation Mockito pour se moquer de la fève (lire la socket client). Si c'est un appel statique, utilisez JMockit de se moquer de l'appel statique.
Je suis à la lecture de la réponse xml du serveur socket. Il est dans un format de chaîne comme "<réponse><test>123</test></réponse>", etc
Votre test unitaire ne doit pas dépendre d'un serveur socket. Vous devriez être en se moquant du client.
pouvez-vous nous dire comment se moquer du client?
Afficher plus de code. Plus précisément, 1) l'ensemble de la ligne de code qui récupère xmlResponse 2) comment MyClass devient l'instance de la client qu'il utilise.

OriginalL'auteur Lakshya | 2014-11-25