una sobreescribir que objetos objeto metodos instancias instancia ejemplos declaracion crear clases anidados c# visual-studio-2012 mstest private-members

sobreescribir - que es una instancia en c#



El método privado TestInitialize no es inicializar objetos (1)

El marco de prueba solo busca métodos públicos. De manera similar, si hace que TestEquality privado, eso no se ejecutará, y si hace que MyTest interno, no se ejecutará nada de lo que se muestra.

Tengo una clase de prueba que básicamente debería ser como la siguiente:

[TestClass] public class MyTest { private MyClass o1; private MyClass o2; [TestInitialize] private void PrepareObjects() { o1 = new MyClass(); o2 = new MyClass(); } [TestMethod] public void TestEquality() { Assert.IsTrue(o1.Equals(o2)); } }

Pero cuando ejecuto las pruebas, obtengo una NullReferenceException . Si pongo puntos de interrupción dentro de PrepareObjects y TestEquality entonces puedo ver que TestInitialize no ha sido invocado en el momento en que TestEquality es.

El cambio de PrepareObjects de privado a público soluciona esto. ¿Por qué?