2013-05-15 3 views
0

Je mappe certaines fonctions de table dans nHibernate en utilisant des fichiers HBM. Nos fonctions de table ont beaucoup évolué ces derniers temps, donc je veux m'assurer que nos fichiers de mapping sont mis à jour quand ces changements sont faits. Je suis capable de tester mes fichiers de mapping en exécutant ma fonction qui charge la requête HBM, ajoute des paramètres et exécute la requête. Si mon fichier de mappage contient une colonne supplémentaire, une colonne mal orthographiée ou un type de données incorrect, je sais que quelque chose ne va pas car la requête échouera.Test des mappages nHibernate par unité

Mais la requête n'échoue pas si la fonction de valeur de table contient une nouvelle colonne que mon fichier de mappage ne contient pas? Est-il possible d'ajouter ceci à mes tests?

Répondre

0

Vous aurez besoin de données. Un sqlite en mémoire pourrait faire l'affaire. Lors de votre test, vous insérez un élément dans la base de données et le lisez immédiatement. Toutes les valeurs de champs sélectionnées doivent être identiques aux valeurs insérées.

+0

Mais mon test n'aura aucune connaissance des NOUVELLES colonnes, alors comment pourrais-je remplir et vérifier un champ que mon test n'a pas connaissance? – gwin003

+2

@ gwin003: probablement je me suis trompé. Je pensais que vous vouliez valider que votre mappage était correct à condition que votre classe de domaine contienne les propriétés correctes correspondant à votre modèle db. Votre scénario est une situation de cas de coin IMO: si vous ajoutez un champ, vous ajoutez normalement la fonctionnalité sur votre code pour l'utiliser. J'ai oublié de l'ajouter à vos classes de domaine c'est quelque chose de bizarre et presque indique que ce champ n'est pas utile du tout. –