#ruby #rspec
#ruby #rspec
Вопрос:
Предыстория: У нас есть monorepo сервисов, и каждый сервис имеет модульные тесты и выполняет свои собственные тесты, используя rspec, например:
repo/appA/spec/*_spec.rb
repo/appB/spec/*_spec.rb
repo/appC/subserviceD/spec/*_spec.rb
repo/appC/subserviceE/spec/*_spec.rb
Моя цель:
В качестве предисловия, я новичок в экосистеме Ruby, но я хотел бы настроить отдельный gem (изолированный репозиторий из monorepo), который отвечает за запуск некоторого кода после завершения спецификации, в основном rspec afterall hook, или в любое время после завершения тестов.
Для всех, кто знаком с экосистемой Python / pytest, это в основном аналогично написанию «плагина pytest», где вы можете добавить дополнительные функциональные возможности к существующим хукам.
Вопрос:
- Возможно ли создать
afterall
перехват RSpec (или что-то в этом роде) в отдельном gem, и любой код, который импортирует этот gem, автоматически применяет перехват после запуска их тестов?
Заранее благодарю вас!
Комментарии:
1. Есть ли у вас отдельный вспомогательный файл спецификации? Если это так, вы могли бы вызвать метод драгоценного камня оттуда
2. @maxpleaner При просмотре документов rspec , похоже, что помощники спецификации попадают в
spec/helper
папки с импортомrequire "spec_helper"
. Означает ли это, что мы могли бы написать вспомогательную спецификацию в нашем gem с соответствующими реализованными хуками и просто импортировать ее с чем-то вродеrequire mygem/helper
?3. стоит попробовать