2009-11-04 3 views
1

Je cherche à construire des requêtes complexes en utilisant l'API NHibernate Criteria. Je voudrais vérifier que le critère est construit comme je m'attendais sans avoir à réellement exécuter la requête.Vérification du contenu des critères NHibernate

Est-ce possible? Y a-t-il des astuces ou des techniques pour le faire avec élégance?

Répondre

2

Un collègue a fait récemment cette

encapsulent chaque critère requête dans sa propre classe (spécification). construit un générateur d'expression qui va cracher la requête à la chaîne. a testé que la chaîne d'expression générée correspond à la chaîne d'expression attendue. Le générateur d'expression a parcouru l'arbre de critères dans une spécification de manière récursive pour générer la chaîne d'expression.

c'est l'idée générale, ne pas avoir le code avec moi en ce moment :) désolé. Cependant, j'ai trouvé qu'il est beaucoup plus facile d'écrire des tests d'intégration db pour tester les critères Nh. Est-ce que les critères retournent vraiment les données que j'attends?

+0

Semblable à ce que je vais faire. Utilisez-vous le modèle de visiteur? Un qui construit une chaîne de noms des spécifications et un qui construit un critère en utilisant les spécifications? Vous testez le premier mais utilisez le dernier? –

+0

Oui, c'est ce que c'est. Je n'ai pas encore trouvé d'autre approche. – Hibri

Questions connexes