En revanche, si la connexion est configurable, réduisez le délai d'attente de la chaîne de connexion à 1 seconde - cela facilitera les choses. Remplissez la table avec des tonnes de données et faites tourner 3 autres processus en boucle pour mettre à jour des morceaux de cette table avec une transaction autour de la boucle. Ne pas modifier la procédure appelée par l'application (injecter waitfor). Cela invalide un test d'intégration.
Mais en réalité, il s'agit d'une étude de cas en faveur des tests unitaires et de l'injection de dépendances. Certaines choses sont tout simplement difficiles à tester au niveau de l'intégration. Test unitaire + l'injection de dépendance .
- Réel : Code qui foire -> Délai d'attente de la base de données (difficile à reproduire).
- Refactoriser : Code qui ne fonctionne pas -> Référentiel (accès aux données uniquement) -> Base de données
- Test unitaire : Le code qui craint > Dépôt fictif à lancer -> null
- Vous avez maintenant un test qui échoue pour un code qui ne fonctionne pas et vous pouvez le corriger.
Il s'agit de l'injection de "dépendance". Le développeur peut injecter la dépendance dans la base de données, en remplaçant quelque chose qui simule le comportement d'une dépendance. C'est une bonne chose à faire pour tous les tests de base de données. Quoi qu'il en soit, avec le test unitaire en place, vous savez que le correctif fait en quelque sorte ce qu'il doit faire, mais vous avez toujours besoin d'un test d'intégration. Dans ce cas, il est préférable de se concentrer sur la régression, c'est-à-dire de vérifier que la correction n'a rien cassé d'autre et que la fonctionnalité fonctionne toujours.
Vous avez déjà créé votre patch, donc je pense que ma réponse arrive trop tard.