J'ai besoin de conseils de test.La base de données de test existe. TDD
Je sais que c'est généralement une mauvaise pratique de frapper une base de données dans les tests unitaires sauf dans des circonstances exceptionnelles.
Je suis en train d'adopter une approche TDD pour un projet MVC utilisant EF. Mon premier test est:
void DatabaseShouldExist() { ... }
Je voudrais savoir ... Est-ce une circonstance exceptionnelle?
Je veux vérifier que EF a généré le DB et mon prochain test sera de vérifier s'il contient les données de départ correctes.
Comment allez-vous tester cela?
Devrait-il être testé?
Cadre de moquerie. NSubstitute. – Karolis
Je ne suis pas d'accord. Si vous testez un DAO, cela n'a aucun sens de faire autre chose que de cliquer sur la base de données. Une fois cela fait, les classes qui ont une dépendance sur le DAO peuvent compter sur des simulacres. Je ne voudrais pas écrire un test pour voir si la base de données existe. Je suppose que c'est a priori. – duffymo
Ce n'est pas une mauvaise pratique du tout * de faire un test d'intégration *. La seule chose est, ce n'est pas la même chose que les tests «unitaires», mais c'est très utile. De plus, je suis entièrement d'accord avec @duffymo. Si la base de données n'est pas créée, vous le remarquerez, ne vous inquiétez pas. –