Existe-t-il un framework permettant à .NET de renseigner des données de test? [fermé]
Question
J'utilise c # et pour les tests unitaires et les tests d'intégration, j'ai généralement besoin de renseigner les champs automatiquement en fonction d'attributs.
Disons que nous allons tester si nous pouvons écrire et récupérer les données utilisateur dans la base de données.
- Je crée un objet utilisateur. Remplissez les champs. Écris l'utilisateur dans la base de données .
- Lire un objet utilisateur depuis la base de données
- Vérifier les champs si ce que j'écris est identique à ce que je lis
Existe-t-il un cadre permettant de renseigner automatiquement les données de test sur l'utilisateur et de vérifier si deux objets ont les mêmes valeurs?
Un exemple de code peut ressembler à ceci
User user = new User();
AutoPopulator.Populate(user);
user.Save();
La solution
Consultez NBuilder . Il vous permet de créer des objets de test avec des données aléatoires, des valeurs incrémentielles et tout ce à quoi vous pouvez probablement penser. Tout au long d'une interface fluide et agréable.
Autres conseils
Vous pourriez le trouver pertinent. Voici une liste de quelques autres cadres à ce jour:
Bien connu et respecté:
- NBuilder
- Correction automatique
- AutoPoco
- Bogus - Le port C # de faker.js avec prise en charge des paramètres régionaux. Utilisé par Elasticsearch (NEST).
Peu connu:
inconnu:
- TestDataGenerator
- TestDataFactory (Discontinued)
- TestData
- Any-.Net
Oui, il y en a. Je l’ai trouvé en regardant la session 3 de la série Summer of NHibernate de Stephen Bohlen .
Sa société, Microdesk , a développé un utilitaire qui vous permettra de sauvegarder l'état d'une base de données. lors de la construction du dispositif de test, définissez l’état de la base de données au début de chaque test et récupérez l’état initial de la base de données lors de la déconstruction du dispositif de test.
Téléchargez l'utilitaire ici: Microdesk.Utility.UnitTest
Pour un tutoriel sur son utilisation, visionnez la vidéo de la 3e session de Summer of NHibernate.
NHibernate Fluent a une fonctionnalité qui vous donne tout sur votre liste de souhaits, sauf la partie auto-population:
Lien: http://wiki.fluentnhibernate.org/Persistence_specification_testing
Toutefois, étant donné que C # comporte des contrats de code, il ne serait pas difficile de créer automatiquement par magie des objets valides vous-même à l'aide de la réflexion.