Есть ли альтернатива «Rack-test» для Ruby 3?
Мы используем для наших спецификаций Cucumber. Мы уже некоторое время пытаемся перейти на Ruby 3, и текущая проблема заключается в том, что тесты Cucumber завершаются сбоем из-за использования как ключевых слов, так и позиционных аргументов в их внутренних методах.
Я готов исправить это сам, но, видя, как мало активности в репо (включая PR, открытые в течение недель / месяцев), я боюсь, что я сделаю эту работу, и некому будет ее исправлять.
Единственные альтернативы, которые я вижу:
- Работайте и молитесь, чтобы кто-то рассмотрел / объединил изменения
- Исправьте его локально и теперь используйте исправленную версию локально (yuck)
- Найдите альтернативное решение для
rack-test
Последнее решение кажется лучшим ИМО. Итак, есть ли альтернативы?
1 ответ
Как и в случае со всем программным обеспечением с открытым исходным кодом , у вас есть несколько вариантов:
- Продолжайте использовать старую версию программного обеспечения (т.е. не используйте ruby v3.0.0).
- Надеюсь, что кто-то еще обновит зависимости за вас.
- Сделайте обновление самостоятельно.
- Прекратите пользоваться библиотекой.
На данный момент вариант 1 полностью жизнеспособен; ruby 2.7 все еще активно поддерживается, и поддержка, <em>вероятно,</em> будет продолжаться до <tcode id="40426639"></tcode>. Вы можете сделать это, просто надеясь, что вскоре станет доступен вариант 2.
Стандартная практика для варианта 3:
- Разверните проект и внесите исправления.
- Откройте запрос на перенос в основное репо с вашими исправлениями. Надеюсь, он будет объединен.
- А пока, если вам нужно разблокировать, ссылайтесь на свое разветвленное репо в других проектах.
Это явно требует больше усилий, но я бы не назвал это «уфом»; нет, если только ваши изменения радикальны / не вызывают проблем совместимости с основным проектом, и две ветки расходятся.
Что касается варианта 4, как и в случае практически любой замены библиотеки, всегда будет некоторый компромисс между совместимостью / функциями, но очевидно, что существуют другие среды тестирования. Это зависит от того, как вы на самом деле его используете. Ваш пробег может отличаться.
Таким образом, я не могу дать объективный ответ на такой субъективный вопрос, но мой совет на данный момент был бы таков: если у вас есть время / навыки / мотивация для обновления до Ruby 3 прямо сейчас, то форкните зависимость и обновите ее. . (Вероятно, это не требует серьезных изменений!).
Но если вам не хватает времени / навыков / мотивации для этого, тогда просто придерживайтесь Ruby 2.7.