Je ne suis pas d'accord avec la réponse choisie ni avec les autres réponses reçues jusqu'à présent.
Ne serait-ce pas génial si vous pouviez détecter les erreurs engendrées par les changements chaotiques et souvent désordonnés apportés aux schémas de la base de données et à votre code AVANT qu'il n'arrive à l'assurance qualité ? Je parie que la majorité des personnes interrogées répondraient "oui" !
Vous pouvez et devez certainement isoler et tester les schémas de votre base de données. Et vous ne le faites pas sur la base d'un émulateur ou d'une image lourde ou d'une recréation de votre base de données et de votre machine. C'est la raison d'être de SQLite, pour ne citer qu'un exemple. Vous le simulez sur la base d'une instance légère en mémoire fonctionnant avec des données statiques qui ne changent pas dans cette instance en mémoire, ce qui signifie que vous testez vraiment votre base de données de manière isolée et que vous pouvez faire confiance à vos tests. Et évidemment, c'est rapide parce que c'est en mémoire, un squelette, et c'est mis au rebut à la fin de l'exécution d'un test.
Donc oui, vous devriez tester le SCHEMA qui est exporté dans une instance en mémoire très légère du moteur de base de données que vous utilisez, et qui, avec l'ajout d'une très petite quantité de données statiques, devient votre base de données simulée isolée.
Vous exportez périodiquement (de manière automatisée) vos schémas réels de votre vraie base de données et vous les importez/mettez à jour dans votre instance de base de données légère en mémoire avant chaque envoi à l'assurance qualité et vous saurez instantanément si les dernières modifications apportées à la base de données par vos administrateurs de base de données ou par d'autres développeurs qui ont modifié le schéma dernièrement ont cassé des tests.
Bien que j'applaudisse l'effort de faire de son mieux pour répondre, j'attribuerais un vote négatif à la réponse actuelle si je le pouvais, mais je suis nouveau et je n'ai pas encore acquis suffisamment de réputation pour être en mesure de le faire.
Quant à la personne qui a répondu "ne vous moquez pas de ce qui ne vous appartient pas", je pense qu'elle voulait dire "ne testez rien". Je pense qu'il voulait dire "ne testez pas ce que vous ne possédez pas". Mais on se moque des choses que l'on ne possède pas ! Parce que ce sont les choses qui ne sont pas testées qui doivent être isolées !
J'ai l'intention de partager le COMMENT avec vous et je mettrai à jour ce post dans le futur avec un exemple réel de code JS !
C'est ce que font en permanence de nombreuses équipes pilotées par les tests. Il suffit de comprendre le comment.