簡體   English   中英

Ruby 3 的“機架測試”是否有替代方案?

[英]Is there an alternative for `rack-test` for Ruby 3?

我們正在對我們的 Cucumber 規格進行rack-test 我們一直在嘗試遷移到 Ruby 3 一段時間,當前的問題是 Cucumber 測試由於在其內部方法中使用關鍵字/位置參數進行rack-test測試而崩潰。

我准備自己修補它,但是看到 repo 上的活動很少(包括開放數周/數月的 PR),我擔心我會做這項工作並且沒有人可以修補它。

我看到的唯一選擇是:

  • 做這項工作並祈禱會有人審查/合並更改
  • 從現在開始在本地打補丁並在本地使用打補丁的版本(惡心)
  • 尋找rack-test的替代解決方案

最后一個解決方案似乎是最好的 IMO。 那么,有沒有其他選擇?

所有開源軟件一樣,您有幾個選擇:

  1. 繼續使用舊軟件版本(即不要使用 ruby v3.0.0)。
  2. 希望其他人為您更新依賴項。
  3. 自己做更新。
  4. 停止使用圖書館。

目前,選項 1 完全可行; ruby 2.7 仍在積極維護中,支持可能會持續到2023-03-31 可以這樣做,只是希望選項 2 很快可用。

選項 3 的標准做法是:

  • 分叉項目,並進行修復。
  • 使用您的修復打開主倉庫的拉取請求 希望它被合並。
  • 同時,如果您需要解封,請在其他項目中參考您的分叉回購。

這顯然需要付出更多的努力,但我不會稱其為“糟糕”的解決方案。 除非您的更改是劇烈的/引入了與主項目的兼容性問題,並且兩個分支存在分歧。

至於選項 4,與幾乎所有庫替換一樣,在兼容性/功能之間總會有一些權衡,但顯然其他測試框架確實存在。 這取決於您實際使用它的方式。 你的旅費可能會改變。


總而言之,對於這樣一個主觀的問題,我真的無法給出客觀的答案,但我目前的建議是:如果你現在有時間/技能/動機更新到 ruby 3,那么 fork 依賴項並更新它. (這可能不需要進行大規模的更改。)。

但是,如果您缺乏時間/技能/動力來執行此操作,那么現在就堅持使用 ruby 2.7。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM