【发布时间】:2017-06-22 14:45:45
【问题描述】:
我正在尝试用 FluentAssertion 替换“CollectionAssert.AreEquivalent()”的用法。
我尝试过使用 ShouldAllBeEquivalentTo,但在比较不同类型的相似对象时,该函数不会失败。
在下面的示例中,两个调用都成功。我希望第二个失败。
new int[] { 1, 2 }.ShouldAllBeEquivalentTo( new int[] { 2, 1 } );
new int[] { 1, 2 }.ShouldAllBeEquivalentTo( new string[] {"1", "2"} );
是否有替代功能或特定选项会使第二行失败?
【问题讨论】:
-
添加这个断言怎么样:Assert.AreEqual(list1.GetType(), list2.GetType()); ?
-
@KernelMode - 这适用于该特定示例,但我的实际案例涉及字典
。我需要检查每个单独值的运行时类型。 CollectionAssert 以及 FluentAssertions 在添加已接受答案中详述的步骤后执行此操作
标签: c# fluent-assertions