Как этот тест может провалиться?
[TestMethod]
public void Get_Code()
{
var expected = new List<int>();
expected.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 });
var actual = new List<int>();
actual.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 });
Assert.AreEqual(expected, actual);
// Assert.AreSame(expected, actual) fails
// Assert.IsTrue(expected.Equals(actual)) fails
}
c#
visual-studio-2010
unit-testing
mstest
Рэй Ченг
источник
источник
CollectionAssert.AreEquivalent
вместо этого msdn.microsoft.com/en-us/library/ms243779.aspxCollectionAssert.AreEqual
может быть заметно медленнее, чемAssert.IsTrue...SequenceEqual
Я думаю, это поможет
источник
Если вы хотите проверить, что каждый из них содержит одну и ту же коллекцию значений, вы должны использовать:
Редактировать:
источник
Я пробовал другие ответы в этой теме, и они не работали для меня, и я сравнивал наборы объектов, которые имели одинаковые значения, сохраненные в их свойствах, но объекты были другими.
Вызов метода:
Метод для сравнения:
источник
Equals
метод, иCollectionAssert
будет работать.этот тест сравнивает ввод даты, проверяет, является ли ее високосным годом, если да, выводит 20 високосных лет от введенной даты, если нет, выводит СЛЕДУЮЩИЕ 20 високосных лет, myTest.Testing ссылается на экземпляр myTest, который, в свою очередь, вызывает значения из списка под названием «Тестирование», содержащего необходимые расчетные значения. часть упражнения, которую я должен был сделать.
источник
// Закон
// Утверждай
источник
Беглые утверждения делают глубокие сравнения массивов
actualArray.Should().BeEquivalentTo(expectedArray)
источник