如果我更新了一个 React 模块,使得现有代码可以正常运行,但 Jest 快照测试可能会中断,这应该是一个主要版本冲突吗?
If I update a react module such that existing code functions but Jest snapshot tests may break, should that be a major version bump?
假设我维护一个 React 组件的模块,并且正在处理 PR 以添加新功能。
作为该功能工作的一部分,我们还假设我重构了组件以删除一些内部结构,如果您捕获了呈现组件的 Jest 快照,这些内部结构以前是可见的。 (假设我删除了一个内部中间组件,而不是任何影响组件 DOM 输出的内容)。在功能上,该组件是相同的并且所有现有代码都是兼容的。
我是否应该将我的功能作为组件的新 主要 版本发布,因为某些用户的快照测试可能需要更新?或者 次要 版本提升是否足够?
在这里回答我自己的问题。
与RobC 一样,归结为publicAPI是否变了或坏了。经过一番思考,我确信包含在最终渲染 DOM 中不可见的内部结构的 Enzyme 渲染的 Jest 快照更像是 private [=21 的泄漏=],因此不打算受到主要 semver 碰撞的保护。
我将更改发布为次要版本。如果用户投诉,将对此答案发表评论。
假设我维护一个 React 组件的模块,并且正在处理 PR 以添加新功能。
作为该功能工作的一部分,我们还假设我重构了组件以删除一些内部结构,如果您捕获了呈现组件的 Jest 快照,这些内部结构以前是可见的。 (假设我删除了一个内部中间组件,而不是任何影响组件 DOM 输出的内容)。在功能上,该组件是相同的并且所有现有代码都是兼容的。
我是否应该将我的功能作为组件的新 主要 版本发布,因为某些用户的快照测试可能需要更新?或者 次要 版本提升是否足够?
在这里回答我自己的问题。
与RobC
我将更改发布为次要版本。如果用户投诉,将对此答案发表评论。