目前AutoNSubstitute
项目依赖于NSubstitute 1.5 。 但是,当前的集成存在重大问题和限制(参见 #720、#592、#707 和 #653)。 有一种方法可以修复它们,但是我们只需要 NSubstitute 2.0.2中出现的 API。 因此,我们需要决定如何处理这个胶水库。
AutoNSubstitute
项目通过这种方式,我们继续当前的AutoNSubstitute
项目,但将 NSubstitute 依赖增加到2.0.2
。 我们将仅在 v4 中引入此更改,并在 Breaking Changes 页面上进行描述,因此这应该不是问题。
__优点:__
AutoNSubstitute2
项目当我们想要支持另一个版本的库时,通常我们会采用这种方式。 但是,在这种情况下,AFAIK 项目的存在是由重大更改而不是功能限制引起的(如果我清楚地看到的话)。
__优点:__
__缺点:__
AutoNSubstitute
库仍然与NSubstitute 2.0.0
兼容,所以有两个兼容版本的胶水库会有点混乱。 当然,我们可以人为地为 AutoNSubstitute v1 设置一个上限,但是这个限制将是一个小谎言,因为二进制一切都很好😞就我个人而言,我在这里没有强烈的意见,因为我认为这两种方法都有价值。 但是,如果我被迫选择,我更喜欢方式 1,因为它更容易,而且 NSubstitute 2没有重大更改,因此迁移到它不会有问题。
@AutoFixture/core 你怎么看? ;-)
是的,需要维护的东西越少,前进就越容易。 我投票给1 。
投票给 1。
在#832 中采用了这种方法,所以现在我们需要 NSubstitute 2 进行集成。