Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

В чем разница между Assert.AreEqual и Assert.Equals C#?

#c_sharp #visual_studio #юнит_тесты


В чем разница между Assert.AreEqual и Assert.Equals C#?
    


Ответы

Ответ 1



Assert - это обычный класс, который, как и все классы .NET, наследуют от System.Object. Assert.Equals – это просто наследуемый метод Object.Equals. Asser.AreEquals – это метод класса Assert, который выкидывает AssertFailedException если два объекта не равны. Это штатный способ проверять утверждение о равенстве двух объектов. В версии TestFramework 14.0.0.X Assert.Equals перекрыт, и выкидывает исключение, что бы избежать путаницы и не вводить никого в заблуждение. Внутри написано что-то такое: /// Static equals overloads are used for comparing instances of two types for reference /// equality. This method should not be used for comparison of two instances for /// equality. This object will always throw with Assert.Fail. Please use /// Assert.AreEqual and associated overloads in your unit tests. public new static bool Equals(object objA, object objB) { Asser.Fail("Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead."); }

Комментариев нет:

Отправить комментарий