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>();

Source