CollectionAssert.AreEquivalent 在 FluentAssertions 中?
CollectionAssert.AreEquivalent in FluentAssertions?
我正在尝试用 FluentAssertion 替换 "CollectionAssert.AreEquivalent()" 的用法。
我试过使用 ShouldAllBeEquivalentTo,但在比较不同类型的相似对象时该函数不会失败。
在下面的例子中,两个调用都成功了。我希望第二个失败。
new int[] { 1, 2 }.ShouldAllBeEquivalentTo( new int[] { 2, 1 } );
new int[] { 1, 2 }.ShouldAllBeEquivalentTo( new string[] {"1", "2"} );
是否有替代函数或某个选项会使第 2 行失败?
这是因为默认情况下使用 TryConversionEquivalencyStep
并且它将 "1"
和 1
视为相等(在尝试转换后)。
先尝试删除它:
AssertionOptions.EquivalencySteps.Remove<TryConversionEquivalencyStep>();
我正在尝试用 FluentAssertion 替换 "CollectionAssert.AreEquivalent()" 的用法。
我试过使用 ShouldAllBeEquivalentTo,但在比较不同类型的相似对象时该函数不会失败。
在下面的例子中,两个调用都成功了。我希望第二个失败。
new int[] { 1, 2 }.ShouldAllBeEquivalentTo( new int[] { 2, 1 } );
new int[] { 1, 2 }.ShouldAllBeEquivalentTo( new string[] {"1", "2"} );
是否有替代函数或某个选项会使第 2 行失败?
这是因为默认情况下使用 TryConversionEquivalencyStep
并且它将 "1"
和 1
视为相等(在尝试转换后)。
先尝试删除它:
AssertionOptions.EquivalencySteps.Remove<TryConversionEquivalencyStep>();