2017-09-19 1 views
1

Mon application électronique enregistre les paramètres dans les fichiers de configuration.Comment tester unitairement une fonction qui lit ou écrit dans des fichiers?

Comment puis-je tester les fonctions loadConfig() et saveConfig() sans modifier les données réelles une fois qu'il est entré dans prod?

Je serais heureux de vous montrer ce que j'ai déjà fait, mais je n'ai aucune idée par où commencer.

+0

S'il vous plaît, pouvez-vous publier un bloc de code source qui inclut la fonction (ou une fonction exemple) et les instructions d'importation des outils que vous utilisez pour manipuler les fichiers? –

+0

Je ferai ce que je peux. TDD implique que je n'ai pas encore de code ;-) – SteeveDroz

+0

Ok, alors bonne chance –

Répondre

1

Ici, votre motif principal est de tester si vous êtes en mesure de charger et enregistrer les données ou non. Considérant s'il s'agit d'un fichier vide au début du test.

Étape 1. Écrivez des données dans le fichier.
Étape 2. Lisez les mêmes données.
Étape 3. Puisque vous écrivez vous-même les données, au début, vous devriez donc savoir à l'avance quelles étaient exactement ces données.
Étape 4. Affirmez les mêmes données que vous avez déjà avec les données que vous avez après avoir effectué l'opération de lecture.
Étape 5. Effacez toutes les données de ce fichier.

Ceci vous assurera si ce que vous écrivez et relisez est correct ou non.
Vous pouvez également effectuer cette opération sur un fichier fictif, car le motif principal est de tester les opérations de lecture et d'écriture sur le fichier.

+0

OK, mais que faire si le fichier a été modifié par l'utilisateur? L'étape "effacer" détruit leurs données. Tester un fichier fictif signifie changer le code de la fonction. – SteeveDroz

+0

C'est pourquoi j'ai mentionné que vous pouvez également exécuter cet algorithme sur un fichier fictif, puisque votre motif principal de tester l'opération de lecture et d'écriture sera terminé. –

+0

C'est vrai, je vais essayer, merci. – SteeveDroz