Visual Studio Team Test, ed alcune altre SKU, propone un'interessante feature: genera l'accessor per poter testare anche metodi privati. Il codice generato usa sostanzialmente reflection.
Dal mio punto di vista, questa feaure e' sostanzialmente dannosa se usata abitudinariamente. I metodi e le proprieta' da testare sono internal e public, punto! Se testando questi non si arriva mai a testare il metodo privato (vedasi code coverage), vuol dire che quel codice non serve a niente e va eliminato. Meno codice inutile piu' facile manutenzione!
Come in tutte le cose di buon senso ci sono dei casi particolari, come ad esempio testare l'interfaccia (non la UI) di un servizio NT. Avendo come pubblici solamente Start e Stop puo' avere senso testare anche metodi privati, a meno di dichiarali internal.