J'ai une classe qui a une méthode interne et je veux me moquer de la méthode interne. Mais je suis incapable de me moquer d'elle, c'est-à-dire qu'elle n'appelle pas la fonction simulée mais appelle la fonction d'origine. Y'a-t-il une quelconque façon de réussir cela ?Comment se moquer de la méthode interne d'une classe?
Edit: En fait, je suis un novice du Moq. J'ai beaucoup de classes et de méthodes de classes à tester en utilisant le Moq. De nombreuses classes sont internes, beaucoup ont des méthodes internes, beaucoup ont des méthodes non-virtuelles. Et ne peut pas changer la signature sur les méthodes et les classes. Quelqu'un peut-il s'il vous plaît laissez-moi savoir comment tester ce scénario en utilisant Moq. Ou alors, n'hésitez pas à me suggérer un autre cadre de test facile à apprendre et à utiliser. Pourquoi voudriez-vous simuler une méthode interne?
En effet, en se moquant des méthodes privées est typique odeur de code. – mikek
Je ne suis pas du tout d'accord: si vous faites TDD, alors moquer des trucs internes est une chose ordinaire, tous les jours ... –
@Thomas - Je comprends votre point de vue. Mais vous devez comprendre que la stratégie classique est définie comme le test d'un comportement de classes, généralement par interface, plutôt que par implémentation interne car cela couple étroitement vos tests à l'implémentation interne et induit inertie et casse lors de la refactorisation. Je dois dire que vous êtes en minorité avec votre opinion. note: j'ai lu un peu de votre blog et je sais que vous êtes très attentionné et que TDD vous est cher - je ne suis tout simplement pas d'accord avec votre désaccord. ;-) –