Hace poco noté que no se respetaba agregar [TestInitialize] a un método protegido en un ensamblado .NET, pero si hacía público el método, el corredor de prueba de la unidad lo llamaba (Resharper en este caso). He notado esto varias veces en el pasado con métodos de prueba.
Técnicamente hablando, es tan fácil reflexionar sobre un método privado como un método público. De hecho, la reflexión es un método empleado para probar métodos privados.
Entonces, ¿por qué necesito hacer públicos todos los métodos de prueba de mi unidad?
fuente
setAccessible
que puede ser bloqueado por un SecurityManager personalizado