Как запустить юнит-тесты перед сборкой рубинового камня - PullRequest
0 голосов
/ 26 сентября 2018

Я занимаюсь разработкой гема и у меня есть свои модульные тесты в каталоге lib / spec.В настоящее время я запускаю модульные тесты вручную, используя rspec lib/spec.А затем я собираю gem, используя gem build mygem.gemspec (который создает файл .gem ).

Как я могу запустить свои юнит-тесты вместе с командой gem build?(Так же, как мы делаем производственные сборки, используя npm)

1 Ответ

0 голосов
/ 26 сентября 2018

Если у вас есть процесс сборки, который состоит из нескольких задач (например, тестирование, создание драгоценного камня, публикация драгоценного камня) и имеет зависимости между этими задачами (например, драгоценный камень должен быть создан только в случае успешных испытаний, чтобыопубликуйте гем, его нужно сначала создать), вы можете использовать инструмент для сборки , чтобы автоматизировать это.

На самом деле, инструменты для сборки можно использовать гораздо больше, чем просто создание, котороепочему некоторые люди предпочитают термин задачно-ориентированное программирование или (мое личное предпочтение) зависимо-ориентированное программирование для этого.

Самый известный из таких зависимо-ориентированных программинструменты, вероятно, make.Если вы знакомы с экосистемой Java, вы, вероятно, знаете Apache Ant и Gradle .В мире Microsoft существует Microsoft Build Engine (MSBuild) .Из экосистемы ECMAScript вы можете знать Grunt или Gulp .Новенький парень в блоке - Google Bazel .

Ruby также имеет свою долю таких инструментов, наиболее широко используемым является Rake .

Многие библиотеки и инструменты Ruby поставляются с собственными готовыми Rake Tasks, так что вам не придется их писать самостоятельно.Например, для вашего конкретного случая использования есть готовые задачи для сборки гемов и запуска тестов RSpec.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...