我试图验证3单元测试;我发现它们总是出错了,因为断言可能不适应那种类型的对象(或者在创建对象时添加一些东西)。
这是我的代码:
apt purge
任何人都可以看到我如何通过调整断言来调整我的对象,添加一些东西以使其工作或其他任何东西?
提前感谢您的回答。
答案 0 :(得分:2)
在断言集合时使用CollectionAssert.AreEqual Method (ICollection, ICollection)。
CollectionAssert.AreEqual(expected, actual);
验证两个指定的集合是否相等。断言失败了 如果收集不相等。
[TestMethod]
public void NumeroSemaineTest()
{
//1 - Initialisation des variables
DateTime DateTest = new DateTime(2016,11,3);
List<int> expected = new List<int>(new int[] { 44, 45, 46, 47, 48 });
List<int> actual;
//2 - Appel de la méthode à tester
actual = SaisieHeures.SaisieHeures.NumeroSemaine(DateTest);
//3 - Vérification du résultat
CollectionAssert.AreEqual(expected, actual);
Assert.Inconclusive("Vérifiez l\'exactitude de cette méthode de test.");
}
使用DateTime
的测试看起来是正确的。如果它失败那么这意味着你应该检查它正在测试的代码,以确保它正在做预期的事情。
答案 1 :(得分:1)
比较集合时,您应该使用this line(如果您想通过比较其项目来确保集合相等):
[TestMethod]
public void NumeroSemaineTest()
{
//1 - Initialisation des variables
DateTime DateTest = new DateTime(2016,11,3);
List<int> expected = new List<int>(new int[] { 44, 45, 46, 47, 48 });
List<int> actual;
//2 - Appel de la méthode à tester
actual = SaisieHeures.SaisieHeures.NumeroSemaine(DateTest);
//3 - Vérification du résultat
Assert.IsTrue(expected.SequenceEqual(actual));
Assert.Inconclusive("Vérifiez l\'exactitude de cette méthode de test.");
}