Currently the AutoNSubstitute
project depends on NSubstitute 1.5. However, current integration suffers from significant issues and limitations (see #720, #592, #707 and #653). There is a way to fix them, however we need the API which appeared in NSubstitute 2.0.2 only. Therefore, we need to decide how we'll proceed with this glue library.
AutoNSubstitute
projectWith this way we continue with current AutoNSubstitute
project but increase NSubstitute dependency to 2.0.2
. We will introduce this change in v4 only and describe that on the Breaking Changes page, so that should not be an issue.
__Pros:__
AutoNSubstitute2
projectUsually we followed this way when we wanted to support yet another version of library. However, AFAIK in that cases presence of the project was caused by the breaking changes rather than functionality limitation (if I see that clearly).
__Pros:__
__Cons:__
AutoNSubstitute
library is still compatible with NSubstitute 2.0.0
, so it would a little mess to have two compatible versions of the glue library. Of course, we could artificially set a cap for AutoNSubstitute v1, but that limitation will be a small lie as binary everything is fine 😞Personally, I don't have a strong opinion here because I see a value in both approaches. However, if I'm forced to choose, I'd prefer the way 1 because it's easier and NSubstitute 2 doesn't have breaking changes, so that would not be a problem to migrate to it.
@AutoFixture/core What do you think? ;-)
Yes, the less stuff to maintain, the easier it can be to move forward. I'm voting for 1.
Vote for 1.
Followed that approach in #832, so now we require NSubstitute 2 for our integration.