2009-10-22 7 views
26

Je suis un utilisateur C# et pour les tests unitaires et les tests d'intégration, je dois généralement remplir les champs automatiquement en fonction des attributs. Disons que nous allons tester si nous pouvons écrire et récupérer les données utilisateur dans la base de données.Existe-t-il un framework pour .NET pour remplir les données de test?

  • créer un objet utilisateur remplir les champs écrire utilisateur à la base de données
  • Lire l'objet utilisateur de la base de données
  • Vérifiez les champs si ce que je vous écris est la même que ce que je lis

Y at-il cadre remplir automatiquement l'utilisateur avec les données de test et vérifier si deux objets ont les mêmes valeurs?

Exemple de code peut comme ce

User user = new User(); 
AutoPopulator.Populate(user); 
user.Save(); 
+2

@BilltheLizard - fermé comme non constructive ?? !! cette question est très constructive et les réponses sont géniales. –

+1

@JohnHenckel S'il vous plaît lire [Quels types de questions dois-je éviter de demander?] (Https://stackoverflow.com/help/dont-ask) –

+1

@BilltheLizard oh, je vois. vous voulez dire que c'est "principalement basé sur l'opinion". Je suis d'accord. Mais je pense que c'est constructif. –

Répondre

15

Jetez un oeil à NBuilder, il vous permet de construire des objets de test avec des données aléatoires, ou des valeurs d'incrémentation, et tout ce que vous pouvez probablement penser. Tout si une belle interface fluide.

3

Oui, il y a. J'ai trouvé ceci en regardant la session # 3 de la série Summer of NHibernate par Stephen Bohlen. Sa société, Microdesk, a développé un utilitaire qui vous permettra de sauvegarder l'état d'une base de données sur la construction des appareils de test, de définir l'état de la base de données au début de chaque test et de récupérer l'état d'origine de la base de données sur la déconstruction de l'appareil d'essai.

Télécharger l'utilitaire ici: Microdesk.Utility.UnitTest

Pour un tutoriel sur la façon de l'utiliser, regarder l'été NHibernate séance # 3 vidéo.

-1

Courant NHibernate a une fonctionnalité qui vous donne tout sur votre liste de souhaits, à l'exception de la partie de la population de l'automobile:

Lien: http://wiki.fluentnhibernate.org/Persistence_specification_testing

Cependant, étant donné C# avec des contrats de code, il ne serait pas difficile de créer automatiquement des objets valides par la réflexion.

60

Vous pourriez trouver cela pertinent. Voici une liste de quelques autres cadres à partir d'aujourd'hui:

bien connu et respecté:

peu connu:

Vous ne connaissez pas:

+0

Je ne pouvais pas faire fonctionner AutoPoco pour moi mais AutoFixture semble être très utile. –

+1

Bogus semble être mis à jour le plus activement et j'aime bien ses capacités. Merci d'avoir listé ceux-ci! –

+0

Bogus a fonctionné pour moi, il fonctionne pour le noyau de dotnet sur Linux aussi bien qui est ce que je voulais –

Questions connexes