J'ai écrit un code client qui est censé envoyer des données via un socket et lire une réponse du serveur distant.
Je voudrais faire un test unitaire de ce code. La signature de la fonction est quelque chose du genre :
double call_remote(double[] args, int fd);
où fd
est le descripteur de fichier de la socket vers le serveur distant.
Maintenant, le call_remote
Après avoir envoyé les données, la fonction bloquera la lecture de la réponse du serveur. Comment puis-je bloquer un tel serveur distant pour tester le code à l'unité ?
Idéalement, je voudrais quelque chose comme :
int main() {
int stub = /* initialize stub */
double expected = 42.0;
assert(expected == call_remote(/* args */, stub);
return 0;
}
double stub_behavior(double[] args) {
return 42.0;
}
Je voudrais stub_behavior
pour être appelé et envoyer le 42.0
dans le descripteur de fichier bloqué.
Y a-t-il un moyen facile de le faire ?