2010-11-01 7 views
2

J'ai écrit mon propre gestionnaire de paramètres, la sérialisation est fournie par BinaryFormatter. Il est cool car il peut charger et enregistrer des classes avec des propriétés manquantes/ajoutées et je peux définir la valeur par défaut dans les propriétés manquantes. Mais j'ai un problème pour le tester avec un test unitaire.Scénario de test unitaire - comment le tester?

Je le fais par moi-même. Comment faire ce scénario automatiquement?

  1. Classe d'écriture avec 1 propriété.
  2. Sérialiser cette classe par mon gestionnaire de paramètres.

Avant exécuter nouveau test:

  1. manualy classe éditer et ajouter de nouveaux biens, nous avons donc deux propriétés. Nouveau avec la valeur par défaut définie dans la méthode [OnDeserialized].
  2. Exécutez un nouveau test après avoir reconstruit une nouvelle classe.
  3. La classe est désérialisée à partir du fichier binaire.
  4. La nouvelle propriété a la valeur par défaut.

Cela fonctionne comme un charme, mais je ne veux pas faire cela tout seul. J'ai besoin d'un test automatique.

S'il vous plaît, ne remettez pas en question mon architecture, concentrez-vous sur mon problème.

Posible: Reclection? Autre classe? Qu'en est-il des espaces de noms?

Répondre

3

Vous pouvez créer deux classes une pour la sérialisation et une pour la sérialisation et utiliser SerializationBinder pendant la désérialisation vers l'autre classe.

+0

Merci, ça sonne bien! – Simon

1

Si vos classes sont simples, vous pouvez vraiment les compiler à la volée, charger l'assemblage, effectuer votre sérialisation, décharger l'assemblage. Compilez la classe "mise à jour", rechargez l'assemblage et testez la désérialisation.

Peut-être this link vous démarre!

+0

Oui, cela peut aussi fonctionner! Merci! – Simon

Questions connexes