namespace TestProject1{ public class Testing { public string[] PMDate(string lastPm) { if (string.IsNullOrEmpty(lastPm)) return new []{"blah","blah"}; string[] results = lastPm.Split(new[] {" "},StringSplitoptions.None); if (results.Length < 2) return new[] {"blah","blah"}; return results; } }[TestClass()]public class UnitTest1{ [TestMethod()] public voID PmDatetest() { Testing test = new Testing(); string[] expected = test.PMDate("01/01/1900"); string[] actual = test.PMDate("01/01/1900"); Assert.AreEqual(expected,actual); }}
}
解决方法 您的测试将使用object.Equals,它不会被数组覆盖.换句话说,这将打印错误:var x = new[] { 0 };var y = new[] { 0 };Console.Writeline(x.Equals(y));
您应该使用CollectionAssert
代替集合:
CollectionAssert.AreEqual(expected,actual);总结
以上是内存溢出为你收集整理的c# – Visual Studio单元测试Assert.AreEqual失败,具有相同的预期值和实际值全部内容,希望文章能够帮你解决c# – Visual Studio单元测试Assert.AreEqual失败,具有相同的预期值和实际值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)