내 레일 애플리케이션에서 일부 Ruby 코드를 기반으로 동적으로 설정된 변수가있는 .js.erb 파일이 있습니다.RSpec 자동화 테스트 중에 스프로킷 캐시 무효화
응용 프로그램이 정상적으로 작동하지만 일부 자동화 된 테스트에서 문제가 있습니다. 이 JavaScript로 작동하는 RSpec 기능 테스트에서 문제가 발생합니다. 내 사양 파일에는 다른 시나리오를 테스트하기 위해 ruby를 MyApp.config.timeout_time
시간으로 변경하는 여러 가지 테스트가 있습니다. 내 사양 파일에서 첫 번째 예제는 성공하고 나머지는 실패합니다.
myTimer
이 자바 스크립트 측면에서 업데이트되지 않기 때문에 마침내 실현되었습니다. 첫 번째 테스트가 실행되면 Ruby에서 설정된대로 현재 값을 사용하여 JavaScript가 컴파일됩니다. 두 번째 테스트를 위해 Ruby 타이머를 변경하면 RSpec은 여전히 자바 스크립트에서 이전 값을 사용하고 있습니다.
Sprockets/Rails가 파일이나 캐시의 일부를 무효화하여 자바 스크립트를 다시 작성하도록 지시하는 방법이 있습니까? 일반적으로 캐싱을 해제하고 싶지는 않습니다. 필요할 때마다 application.js를 무효화 할 방법이 필요합니다.
파일 시스템의 JavaScript 파일 중 하나를 "만져서"스프로킷이 파일이 변경되었다고 생각할 수 있지만 실제로 그렇게하고 싶지는 않습니다.
감사합니다. 좋은 생각입니다. 나는 그것을 줄 것이다. – CodeSmith
행운이 있었나요? –
아직 확실하지 않습니다. 다른 문제를 지원하도록 리디렉션되었지만 아직 시도 할 기회가 없습니다. 일단 내가 더 많이 알게되면 나는 갱신 할 것이다. – CodeSmith