Actuellement, le projet AutoNSubstitute
dépend de NSubstitute 1.5 . Cependant, l'intégration actuelle souffre de problèmes et de limitations importants (voir #720, #592, #707 et #653). Il existe un moyen de les corriger, mais nous avons besoin de l'API qui est apparue dans NSubstitute 2.0.2 uniquement. Par conséquent, nous devons décider de la manière dont nous allons procéder avec cette bibliothèque de colle.
AutoNSubstitute
De cette façon, nous continuons avec le projet AutoNSubstitute
actuel mais augmentons la dépendance de NSubstitute à 2.0.2
. Nous introduirons ce changement dans la v4 uniquement et le décrirons sur la page Breaking Changes, donc cela ne devrait pas être un problème.
__Avantages:__
AutoNSubstitute2
Habituellement, nous avons suivi cette voie lorsque nous voulions prendre en charge une autre version de la bibliothèque. Cependant, AFAIK dans ce cas, la présence du projet a été causée par les changements de rupture plutôt que par la limitation des fonctionnalités (si je vois cela clairement).
__Avantages:__
__Les inconvénients:__
AutoNSubstitute
est toujours compatible avec NSubstitute 2.0.0
, ce serait donc un peu compliqué d'avoir deux versions compatibles de la bibliothèque glue. Bien sûr, nous pourrions fixer artificiellement un plafond pour AutoNSSubstitute v1, mais cette limitation sera un petit mensonge car tout va bien en binairePersonnellement, je n'ai pas d'opinion tranchée ici car je vois une valeur dans les deux approches. Cependant, si je suis obligé de choisir, je préférerais la voie 1 car c'est plus facile et NSubstitute 2 n'a pas de changements de rupture, donc ce ne serait pas un problème de migrer vers elle.
@AutoFixture/core Qu'en pensez-vous ? ;-)
Oui, moins il y a de choses à entretenir, plus il peut être facile d'avancer. Je vote pour 1 .
Votez pour 1.
J'ai suivi cette approche dans #832, nous avons donc maintenant besoin de NSubstitute 2 pour notre intégration.