如何解决Ruby 3 是否有“机架测试”的替代方案?
我们将 rack-test
用于我们的 Cucumber 规格。我们尝试迁移到 Ruby 3 已经有一段时间了,当前的问题是 Cucumber 测试由于 rack-test
在其内部方法中同时使用关键字/位置参数而崩溃。
我准备自己修补它,但看到 repo 上的活动很少(包括开放数周/数月的 PR),我担心我会完成这项工作而没有人来修补它。
我看到的唯一选择是:
- 做这项工作并祈祷会有人审查/合并更改
- 在本地打补丁并从现在开始在本地使用打补丁的版本(糟糕)
- 为
rack-test
寻找替代解决方案
最后一个解决方案似乎是最好的 IMO。那么,还有其他选择吗?
解决方法
与所有开源软件一样,您有几个选择:
- 继续使用旧软件版本(即不要使用 ruby v3.0.0)。
- 希望其他人为您更新依赖项。
- 自己更新。
- 停止使用图书馆。
目前,选项 1 是完全可行的; ruby 2.7 仍在积极维护中,support will probably continue until 2023-03-31
。您可以这样做,只是希望选项 2 很快可用。
选项 3 的标准做法是:
- fork 项目,并进行修复。
- 向主存储库发起拉取请求,其中包含您的修复。希望它合并。
- 同时,如果您需要解锁,请在其他项目中引用您的分叉存储库。
这显然更费力,但我不会称其为“糟糕”的解决方案;除非您的更改是剧烈的/引入与主项目的兼容性问题,并且两个分支出现分歧。
至于选项 4,与几乎任何库替换一样,兼容性/功能之间总会有一些权衡,但显然其他测试框架确实存在。这取决于您实际使用它的方式。您的里程可能会有所不同。
总而言之,对于这样一个主观的问题,我真的无法给出客观的答案,但我目前的建议是:如果您现在有时间/技能/动力更新到 ruby 3,那么 fork 依赖项并更新它。 (这可能不需要进行大量更改!)。
但是如果你没有时间/技能/动力来做这件事,那么现在就坚持使用 ruby 2.7。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。