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.