Ho una classe che ha un metodo interno e voglio prendere in giro il metodo interno. Ma non riesco a deriderlo, cioè non chiama la funzione derisoria ma chiama la funzione originale. C'è un modo per raggiungere questo obiettivo?Come deridere il metodo interno di una classe?
Modifica: In realtà io sono un novizio del Moq. Ho molte classi e metodi delle classi per testare usando il Moq. Molte classi sono interne, molte hanno metodi interni, molte hanno metodi non virtuali. E non può cambiare la firma sui metodi e sulle classi. Qualcuno può per favore fammi sapere come andare a testare questo scenario usando Moq. Oppure, per favore, suggeriscimi qualche altro framework di test che sia facile da apprendere e facile da usare.
Infatti, scherno metodi privati tipico odore di codice. – mikek
Non sono assolutamente d'accordo: se fai TDD, il fatto di prendere in giro cose interne è una cosa normale, di tutti i giorni ... –
@Thomas - Capisco la tua prospettiva. Ma devi capire che la strategia classica è definita come testare un comportamento di classi, tipicamente tramite interfaccia, piuttosto che implementazione interna in quanto questo accoppia strettamente i test con l'implementazione interna e induce inerzia e rottura durante il refactoring. Devo dire che sei in minoranza con la tua opinione. nota: ho letto un po 'del tuo blog e so che sei abbastanza premuroso e TDD ti è caro, non sono d'accordo con il tuo disaccordo. ;-) –