C# 收集资产信息

C# 收集资产信息,c#,unit-testing,collections,assert,C#,Unit Testing,Collections,Assert,当CollectionAsser.AreEqual检测到两个集合中元素的差异时,它会显示异常消息等信息: CollectionAssert.AreEqual failed. (Element at index 0 do not match.) at filename 当我用Asser.AreEquals比较两个变量或对象时,是否有任何方法扩展信息,以便显示位置处的两个元素(预期和获得)?此函数没有那么复杂,你可以简单地用你想要的所有信息重写一个自制的断言。我是否必须重写所有不同类型的集合的所

当CollectionAsser.AreEqual检测到两个集合中元素的差异时,它会显示异常消息等信息:

CollectionAssert.AreEqual failed. (Element at index 0 do not match.)
at 
filename

当我用Asser.AreEquals比较两个变量或对象时,是否有任何方法扩展信息,以便显示位置处的两个元素(预期和获得)?

此函数没有那么复杂,你可以简单地用你想要的所有信息重写一个自制的断言。我是否必须重写所有不同类型的集合的所有CollectionAsser.AreEqual。我想避免它,因为在项目中有很多不同类型的集合,包含不同的类型或对象。为每种类型重写断言将花费我们很多。我更希望有一种方法可以配置VS测试环境,或者只覆盖一次(例如,如果可能的话,重写一次异常消息格式)。我认为您可以使用ICollection编写一个函数,然后(使用IEnumerator)遍历对象并对其调用ToString()。我认为您不需要为每种类型的集合实现。