Size: a a a

Saint P Ruby Community

2019 December 12

w

wi11son in Saint P Ruby Community
Gem::Version.new(RUBY_VERSION) > Gem::Version.new('2.3')
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
1. Когда я еще был рубистом и упарывался на написание тестов, то для своего гема у меня была какая-то дикая матрица тестирования, не только под версию руби, но даже под операционку. Вот тот самый конфиг для матрицы.

https://github.com/TheRole/DummyApp/blob/master/.travis.yml

2. Для того, чтобы подключать разные версии зависимостей в Gemfile приложения, которое ты тестируешь вообще была (и есть) такая штука

https://github.com/thoughtbot/appraisal#readme

Но я решил не заморачиваться на нее.

3. Для разных версий рельса и версий руби в Гемфайл я пихал такое

https://github.com/TheRole/DummyApp/blob/master/Gemfile

И имел еще ряд подключаемых гемфайлов, в зависимости от переданных параметров

https://github.com/TheRole/DummyApp/tree/master/gemfiles

4. Строго говоря, разные версии зависимостей могут вполне потребовать условных конструкций в коде и специфических правок. Например вот тут.

https://github.com/TheRole/DummyApp/blob/master/app/controllers/application_controller.rb#L3

Вообще у меня были случаи, когда некоторые методы руби были не доступны в старых версиях и мне приходилось патчить код и добавлять эти методы самому.

5. При написании спеков ты можешь свободно использовать фильтры для конкретных версий чего угодно. Или дажи написать свои кастомные фильтры, которые будут запускать тесты для одних случаев и не запускать для других
https://github.com/rspec/rspec-core/issues/1484
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
В итоге я добился того, что тесты у меня отрабатывали в 100+ разных окружений. Разные оси, версии руби, рельса и баз данных.
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Но я больше никогда так не буду упарываться. Клянусь.
источник

w

wi11son in Saint P Ruby Community
осталось только чекнуть6 что же возвращает jruby
источник

w

wi11son in Saint P Ruby Community
хм, интерессно
источник

w

wi11son in Saint P Ruby Community
jruby-9.2.0.0 :001 > RUBY_VERSION
=> "2.5.0"
источник

w

wi11son in Saint P Ruby Community
спасибо за наводку на фильтры, прикольноо
источник

w

wi11son in Saint P Ruby Community
ну и вообще твой постик надо сохранить
источник

w

wi11son in Saint P Ruby Community
Ilya Nikolaevich
1. Когда я еще был рубистом и упарывался на написание тестов, то для своего гема у меня была какая-то дикая матрица тестирования, не только под версию руби, но даже под операционку. Вот тот самый конфиг для матрицы.

https://github.com/TheRole/DummyApp/blob/master/.travis.yml

2. Для того, чтобы подключать разные версии зависимостей в Gemfile приложения, которое ты тестируешь вообще была (и есть) такая штука

https://github.com/thoughtbot/appraisal#readme

Но я решил не заморачиваться на нее.

3. Для разных версий рельса и версий руби в Гемфайл я пихал такое

https://github.com/TheRole/DummyApp/blob/master/Gemfile

И имел еще ряд подключаемых гемфайлов, в зависимости от переданных параметров

https://github.com/TheRole/DummyApp/tree/master/gemfiles

4. Строго говоря, разные версии зависимостей могут вполне потребовать условных конструкций в коде и специфических правок. Например вот тут.

https://github.com/TheRole/DummyApp/blob/master/app/controllers/application_controller.rb#L3

Вообще у меня были случаи, когда некоторые методы руби были не доступны в старых версиях и мне приходилось патчить код и добавлять эти методы самому.

5. При написании спеков ты можешь свободно использовать фильтры для конкретных версий чего угодно. Или дажи написать свои кастомные фильтры, которые будут запускать тесты для одних случаев и не запускать для других
https://github.com/rspec/rspec-core/issues/1484
признайся, ты всё еще рубист, где-то там, глубоко в сердечке
источник

w

wi11son in Saint P Ruby Community
Я кстати на днях узнал, что Лука (эт который ханами) теперь работает в Toptal
источник

ZN

Zamira Norova in Saint P Ruby Community
wi11son
признайся, ты всё еще рубист, где-то там, глубоко в сердечке
У рубистов нет сердца 😏
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Zamira Norova
У рубистов нет сердца 😏
источник

ZN

Zamira Norova in Saint P Ruby Community
Этот патлатый чувак не рубист)
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
wi11son
Я кстати на днях узнал, что Лука (эт который ханами) теперь работает в Toptal
понятия не имею кто такой. Это к Антону
источник

w

wi11son in Saint P Ruby Community
Luca Guidi
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Zamira Norova
Этот патлатый чувак не рубист)
но у него есть сердечко. Что может служить косвенным доказательством исходного утверждения. Пока все сходится.
источник

ME

Makar Ermokhin in Saint P Ruby Community
Ilya Nikolaevich
но у него есть сердечко. Что может служить косвенным доказательством исходного утверждения. Пока все сходится.
Не, не может
источник

AD

Anton Davydov in Saint P Ruby Community
wi11son
Я кстати на днях узнал, что Лука (эт который ханами) теперь работает в Toptal
Да, он теперь в топтале работает с ноября вроде
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Anton Davydov
Да, он теперь в топтале работает с ноября вроде
Вот так случайно я узнал, что ТТ переходит на Hanami
источник