Есть ли альтернатива «Rack-test» для Ruby 3?

Мы используем для наших спецификаций Cucumber. Мы уже некоторое время пытаемся перейти на Ruby 3, и текущая проблема заключается в том, что тесты Cucumber завершаются сбоем из-за использования как ключевых слов, так и позиционных аргументов в их внутренних методах.

Я готов исправить это сам, но, видя, как мало активности в репо (включая PR, открытые в течение недель / месяцев), я боюсь, что я сделаю эту работу, и некому будет ее исправлять.

Единственные альтернативы, которые я вижу:

  • Работайте и молитесь, чтобы кто-то рассмотрел / объединил изменения
  • Исправьте его локально и теперь используйте исправленную версию локально (yuck)
  • Найдите альтернативное решение для rack-test

Последнее решение кажется лучшим ИМО. Итак, есть ли альтернативы?

1 ответ

Как и в случае со всем программным обеспечением с открытым исходным кодом , у вас есть несколько вариантов:

  1. Продолжайте использовать старую версию программного обеспечения (т.е. не используйте ruby ​​v3.0.0).
  2. Надеюсь, что кто-то еще обновит зависимости за вас.
  3. Сделайте обновление самостоятельно.
  4. Прекратите пользоваться библиотекой.

На данный момент вариант 1 полностью жизнеспособен; ruby 2.7 все еще активно поддерживается, и поддержка, <em>вероятно,</em> будет продолжаться до <tcode id="40426639"></tcode>. Вы можете сделать это, просто надеясь, что вскоре станет доступен вариант 2.

Стандартная практика для варианта 3:

  • Разверните проект и внесите исправления.
  • Откройте запрос на перенос в основное репо с вашими исправлениями. Надеюсь, он будет объединен.
  • А пока, если вам нужно разблокировать, ссылайтесь на свое разветвленное репо в других проектах.

Это явно требует больше усилий, но я бы не назвал это «уфом»; нет, если только ваши изменения радикальны / не вызывают проблем совместимости с основным проектом, и две ветки расходятся.

Что касается варианта 4, как и в случае практически любой замены библиотеки, всегда будет некоторый компромисс между совместимостью / функциями, но очевидно, что существуют другие среды тестирования. Это зависит от того, как вы на самом деле его используете. Ваш пробег может отличаться.


Таким образом, я не могу дать объективный ответ на такой субъективный вопрос, но мой совет на данный момент был бы таков: если у вас есть время / навыки / мотивация для обновления до Ruby 3 прямо сейчас, то форкните зависимость и обновите ее. . (Вероятно, это не требует серьезных изменений!).

Но если вам не хватает времени / навыков / мотивации для этого, тогда просто придерживайтесь Ruby 2.7.

Другие вопросы по тегам