Ответ 1
Рамка тестирования ищет только общедоступные методы. Аналогично, если вы сделаете TestEquality
private, который не будет запущен, и если вы сделаете MyTest
внутренним, то ничего не будет показано.
У меня есть тестовый класс, который должен в основном выглядеть следующим образом:
[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));
}
}
Но когда я запускаю тесты, я получаю NullReferenceException
. Если я поставил точки останова внутри PrepareObjects
и TestEquality
, то я могу видеть, что TestInitialize
не был вызван к моменту времени TestEquality
.
Изменение PrepareObjects
от частного до публичного исправления. Почему?
Рамка тестирования ищет только общедоступные методы. Аналогично, если вы сделаете TestEquality
private, который не будет запущен, и если вы сделаете MyTest
внутренним, то ничего не будет показано.