Comment pouvez-vous effectuer les mêmes tests que Effort en utilisant uniquement Moq?


Question

Actuellement, j'ai configuré de nombreux tests, notamment les tests de couche d'accès aux données et de couche de logique métier avec Effort (voir https://effort.codeplex.com/ ). Nous utilisons déjà Moq dans nos tests unitaires, et mon patron aimerait garder les choses simples. Il veut donc que je vérifie si je peux transférer les tests de la mise en œuvre Effort vers nous uniquement Moq et FakeDbSet (voir http: // aikmeng.com/post/62817541825/how-to-mock-dbcontext-and-dbset-with-moq-for-unit ), afin de simplifier la maintenance de la base de code.

D'après ce que j'ai compris, Effort imite essentiellement une base de données SQL Server entière en mémoire. Il semble donc qu'il faudrait beaucoup de code avec Moq pour tout configurer afin qu'un test puisse être exécuté en utilisant seulement cela. Quelqu'un at-il des idées à ce sujet? Peut-on le faire sans énormément de codage? Est-ce que quelqu'un a des suggestions? TIA.

Réponse acceptée

Fini par rester avec effort. L'utilisation de FakeDbSet et de Moq a nécessité beaucoup plus de configuration et a entraîné l'échec de certaines requêtes LINQ dans les tests unitaires, même si elles fonctionnent en situation de production.

METTRE À JOUR:

Il s'avère que ce n'était pas un problème avec FakeDbSet ou Moq - il y avait des problèmes dans ma requête LINQ qui échouaient s'il y avait des valeurs de chaîne nulles.





Sous licence: CC-BY-SA
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi