Estoy intentando probar la unidad de una clase que tiene muchas funciones internas. Obviamente, estos también necesitan pruebas, pero mi proyecto de Pruebas es independiente, principalmente porque cubre muchos proyectos pequeños y relacionados. Lo que tengo hasta ahora es:¿Cómo acceder a miembros internos a través de System.Reflection?
FieldInfo[] _fields =
typeof(ButtonedForm.TitleButton).GetFields(
BindingFlags.NonPublic | BindingFlags.Instance |
BindingFlags.DeclaredOnly);
Console.WriteLine("{0} fields:", _fields.Length);
foreach (FieldInfo fi in _fields)
{
Console.WriteLine(fi.Name);
}
Este escupe todos los miembros privados muy bien, pero todavía no muestra componentes internos. Sé que esto es posible, porque cuando estaba jugando con las pruebas autogeneradas que Visual Studio puede producir, me preguntó sobre qué hacer al mostrar las partes internas del proyecto de prueba. Bueno, ahora estoy usando NUnit y realmente me gusta, pero ¿cómo puedo lograr lo mismo con eso?
Estoy de acuerdo con el uso de InternalsVisibleTo, pero también agradezco la respuesta :) –
No hay problema, es bueno tener una explicación real, incluso si en su caso de uso particular, un enfoque diferente es más apropiado. –
Sólo un FYI, la página vinculada a esta respuesta es mía y mi URL ha cambiado. Es por eso que podría obtener un 404. Pruebe este enlace actualizado http://jason.whitehorn.ws/2007/11/09/The-Wonders-Of-InternalsVisibleTo.aspx –