2010-10-15 25 views
0

J'ai écrit une petite applet client FTP qui télécharge des fichiers sur un serveur FTP à l'aide de Commons Net API. Dans mon code, j'ai manipulé 'CopyStreamException' et essayé de redémarrer le même transfert de fichier en définissant le décalage en utilisant la méthode FTPClient.setRestartOffset().Comment tester le transfert de fichier en redémarrant le code [setRestartOffset (offset) dans Commons NET API]?

Existe-t-il un moyen approprié de tester cette partie du code? J'ai essayé en déconnectant ma connexion Internet et l'applet a redémarré le même transfert de fichier avec un décalage correct mais le serveur a répondu 550 avec la description 'Le processus ne peut pas accéder au fichier parce qu'il est utilisé par un autre processus'. !!!

Toute aide est appréciée

Merci.

Répondre

0

Vous pouvez installer quelque chose comme FileZilla Server localement et l'utiliser pour le tester. Vous avez alors un plus grand contrôle sur le test de divers scénarios à faire avec le serveur de destination (par exemple perdre une connexion, ne pas avoir la permission d'écrire, mauvais dir home par défaut, etc.). C'est comme ça que nous testons notre client FTP de toute façon :). Alternativement, vous pouvez commencer à regarder des aspects moqueurs (en utilisant JMock/Mockito/EasyMock/votre propre composant de remplacement) du serveur (pas facile à faire) qui peuvent alors lancer l'exception que vous voulez à votre guise.

+0

Salut, Merci pour la suggestion, j'ai utilisé FileZilla pour tester mon outil localement. Et sur le problème que j'ai eu, j'ai découvert que, l'erreur était due au fait que le serveur conservait le fichier pendant un certain temps après la panne. J'ai mis à jour mon outil pour attendre environ 2min, avant de reprendre le transfert de fichiers. – iamrakesh

+0

Heureux que vous avez réussi à le résoudre! –