c# - fluentassertions - fluent assertions should throw
FluentAssertions: ShouldBeEquivalentTo vs Should(). Be() vs Should(). BeEquivalentTo()? (1)
¿Alguien puede resumir las diferencias y el alcance de uso entre ellos?
Leí SO artículos,
- ShouldBeEquivalientTo() : ShouldBeEquivalentTo () se usa para comparar gráficos de objetos complejos en lugar de los tipos primitivos que forman parte del marco .NET.
- Should().BeEquivalentTo() : elementos individuales Equals () implementa para verificar la equivalencia y ha existido desde la versión 1. El nuevo ShouldBeEquivalenTo () introducido en FA 2.0 está haciendo una comparación estructural en profundidad y también informa sobre cualquier diferencia.
- Debería (). Ser (): no se puede encontrar.
En mi humilde comprensión, ShouldBeEquivalientTo() y Should().BeEquivalentTo() funcionan de manera similar si Should().BeEquivalentTo() hace una comparación en profundidad.
Estoy de acuerdo, esto es confuso. Should().BeEquivalentTo() realidad debería llamarse Should().EqualInAnyOrder() o algo por el estilo. Como ha dicho, utiliza la implementación de los objetos involucrados en Equals para ver si todos los de la colección expected aparecen en la colección actual , independientemente del orden. Tendré que arreglar eso para la próxima versión importante.