Очистить кэш звездочек перед запуском теста rspec - PullRequest
0 голосов
/ 12 декабря 2018

В моем приложении на Rails я динамически изменяю файл app/assets/stylesheets/main.scss.erb для некоторых тестов RSpec.Если я запускаю тесты RSpec по отдельности, все они проходят нормально.Если я запускаю их вместе, каждый тест не проходит, кроме первого.Я подозреваю, что звездочки кэшируют первоначальные изменения, что позволяет пройти первый тест, но никогда не обновляет кэш для последующих тестов.

Есть ли способ очистить кэш звездочек (я использую звездочки 3.7.2) перед выполнением каждого теста и принудительной перезагрузкой из текущего состояния файлов?

Обновление от 12.12.2008: Вот еще немного контекста о том, что я делаю.У меня есть движок Rails, который поддерживает несколько приложений в моей компании.Движок загружает таблицу стилей внутри движка, а также просматривает внутреннее приложение Rails и загружает вторую таблицу стилей (т.е. нам не требуется, чтобы приложения Rails сами добавляли таблицу стилей в файл манифеста application.css; движок обрабатывает ее),Недавно мы обнаружили ошибку, из-за которой движок не загружал таблицу стилей уровня приложения, поэтому я исправил ее и начал добавлять некоторые тесты в движок.Моя первая попытка тестирования состояла в том, чтобы создать страницу с некоторыми специальными элементами.Div используют идентификаторы CSS, которые определены в различных таблицах стилей.Если элементы div заканчиваются ожидаемыми стилями, я знаю, что они получили эти стили только из таблиц стилей (что подтверждает их загрузку).Эта стратегия работает, но требует распространения кода в движке и фиктивного приложения (внутри движка).Затем я начал экспериментировать с тем, чтобы тесты динамически добавляли правила CSS в таблицы стилей при выполнении каждого теста.Эта стратегия - большое улучшение, потому что она держит весь интересный код в тесте.Любой, кто читает определенный тест, может сразу увидеть добавляемые стили и изменяемые файлы.Все содержится в тесте.К сожалению, хотя я перезагружаю все необходимые файлы между тестами, похоже, что кэш ресурсов не становится недействительным.

...