Jak ten test może się nie powieść?
[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
Ray Cheng
źródło
źródło
CollectionAssert.AreEquivalent
zamiast tego msdn.microsoft.com/en-us/library/ms243779.aspxCollectionAssert.AreEqual
może być zauważalnie wolniejszy niżAssert.IsTrue...SequenceEqual
Myślę, że to pomoże
źródło
Jeśli chcesz sprawdzić, czy każda zawiera tę samą kolekcję wartości, powinieneś użyć:
Edytować:
źródło
Próbowałem innych odpowiedzi w tym wątku, ale one nie działały dla mnie i porównywałem kolekcje obiektów, które miały takie same wartości zapisane w swoich właściwościach, ale obiekty były różne.
Wywołanie metody:
Metoda porównań:
źródło
Equals
metodę iCollectionAssert
zadziała.ten test porównuje wprowadzoną datę, sprawdza, czy jest to rok przestępny, jeśli tak, generuje 20 lat przestępnych od wprowadzonej daty, jeśli nie, wyświetla NASTĘPNE 20 lat przestępnych, myTest. Testowanie odnosi się do instancji myTest, która z kolei wywołuje wartości z listy o nazwie Testowanie zawierające wymagane obliczone wartości. część ćwiczenia, które musiałem wykonać.
źródło
//Działać
//Zapewniać
źródło
Płynne twierdzenia dokonują głębokich porównań tablic
actualArray.Should().BeEquivalentTo(expectedArray)
źródło