Utilisation de conditions de test dans des tests unitaires de base de données
Mise à jour : novembre 2007
Dans un test unitaire de base de données classique, un script de test Transact-SQL (T-SQL) s'exécute et retourne une instance de la classe ExecutionResult. L'instance de cette classe contient un groupe de données, la durée d'exécution et les lignes affectées par le script. Toutes ces informations sont collectées pendant l'exécution du script. Ces résultats peuvent être évalués dans le script T-SQL en utilisant la fonction RAISERROR. Ils peuvent également être évalués en utilisant des conditions de test. Visual Studio Team System Database Edition fournit un ensemble de conditions de test prédéfinies que vous pouvez utiliser.
Conditions de test prédéfinies
Le tableau suivant répertorie les conditions de test prédéfinies que vous pouvez ajouter en utilisant le volet Conditions de test du Concepteur de test unitaire de base de données.
Condition de test |
Description de la condition de test |
---|---|
Jeu de résultats vide |
Échoue si le jeu de résultats retourné à partir du script T-SQL n'est pas vide. |
Durée d'exécution |
Échoue si l'exécution du script de test T-SQL prend plus longtemps que prévu. La durée d'exécution par défaut est de 30 secondes. La durée d'exécution s'applique uniquement au script de test, pas au script de prétest ou le script de post-test. |
Non concluant |
Produit toujours un test avec le résultat Non concluant. C'est la condition par défaut ajoutée à chaque test. Cette condition de test est incluse pour indiquer que la vérification des tests n'a pas été implémentée. Supprimez cette condition de test de votre test après avoir ajouté d'autres conditions de test. |
Jeu de résultats non vide |
Échoue si le jeu de résultats est vide. Vous pouvez utiliser cette condition de test ou la condition Jeu de résultats vide avec la fonction T-SQL @@RAISERROR dans votre script de test pour tester si une mise à jour a fonctionné correctement. Par exemple, vous pouvez enregistrer les valeurs antérieures à la mise à jour, exécuter la mise à jour, comparer les valeurs postérieures à la mise à jour, puis déclencher une erreur si vous n'obtenez pas les résultats attendus. |
Nombre de lignes |
Échoue si le jeu de résultats ne contient pas le nombre attendu de lignes. |
Valeur scalaire |
Échoue si une valeur particulière du jeu de résultats n'est pas égale pas la valeur spécifiée. La Valeur attendue par défaut est null. |
Remarque : |
---|
La condition de test Durée d'exécution spécifie une limite de temps pendant laquelle le script de test T-SQL doit s'exécuter. Si cette limite de temps est dépassée, le test échoue. Les résultats des tests incluent également une statistique Durée, qui est différente de la condition de test Durée d'exécution. La statistique Durée inclut non seulement la durée d'exécution, mais également le temps nécessaire pour se connecter deux fois à la base de données, le temps nécessaire pour exécuter tout autre script de test, tels que le script de prétest et le script de post-test, et le temps nécessaire pour exécuter les conditions de test. Par conséquent, un test peut réussir même si sa durée est supérieure à sa durée d'exécution. La valeur Durée rapportée n'inclut pas le temps utilisé pour la génération de données et le déploiement de schéma parce qu'ils se produisent avant l'exécution des tests. Pour afficher la durée des tests, sélectionnez une série de tests dans la fenêtre Résultats des tests, cliquez avec le bouton droit et choisissez Afficher les détails des résultats des tests. |
Vous pouvez ajouter des conditions de test à des tests unitaires de base de données en utilisant le volet Conditions de test du Concepteur de test unitaire de base de données. Pour plus d'informations, consultez Comment : ajouter des conditions de test aux tests unitaires de base de données.
Vous pouvez également modifier directement votre code de méthode de test pour ajouter plus de fonctionnalités. Pour plus d'informations, consultez Personnalisation des tests unitaires de base de données dans Visual Basic ou Visual C#. Par exemple, vous pouvez ajouter des fonctionnalités à une méthode de test en ajoutant des instructions Assert. Pour plus d'informations, consultez Utilisation d'assertions T-SQL dans les tests unitaires de base de données.
Conditions de test extensibles
En plus de six conditions de test prédéfinies, vous pouvez écrire vous-même de nouvelles conditions de test. Ces conditions de test s'afficheront dans le volet Conditions de test du Concepteur de test unitaire de base de données. Pour plus d'informations, consultez Comment : ajouter une condition de test au Concepteur de test unitaire de base de données
Voir aussi
Concepts
Utilisation d'assertions T-SQL dans les tests unitaires de base de données