J'ai des classes de service basées sur Entity Framework 4. Je voudrais les tester sur une base de données remplie de données pré-générées. Le problème est le suivant: je voudrais que les tests, qu'ils soient réussis ou échoués, ne touchent pas réellement la base de données, afin qu'elle puisse être réutilisée pour d'autres tests. Par conséquent, je voudrais que ObjectContext.SaveChanges prétende que tout va bien et conserve les changements dans la mémoire, mais omet silencieusement leur persistance réelle dans la source de données. Est-ce possible?Est-il possible d'empêcher EF SaveChanges() d'écrire dans DB?
P.S. Je suis conscient du modèle de dépôt, mais je ne voudrais pas l'utiliser dans ce cas.
Pourquoi ne pas même appeler SaveChanges si vous ne testez pas son impact au niveau des données? –
Oui, je viens d'avoir la même idée :-) Peut-être un drapeau passé au constructeur du service peut-être. Dommage que des choses comme DRI ne soient pas testées, mais je me dis qu'il n'y a aucun moyen de les tester sans toucher à la DB. –