[英]Testing a Rails gem with test/dummy app, /tmp folder gets clobbered…somehow
我正在編寫一個gem,必須根據應用程序啟動時的配置來選擇要供鏈輪使用的XYZ.js文件的版本//= require "XYZ"
語句。 我的解決方案是將XYZ.variant.js
或XYZ.variant2.js
復制到Rails應用程序中的/tmp/cache/<gemname>/XYZ.js
中。 如果我手動測試,這似乎可行; 如果我去test/dummy
文件夾,並通過測試功能rackup
的XYZ.js
正確找到。 如果我通過另一個Rails應用程序測試了gem,它就可以工作(通過path:
Gemfile中)。
但是,當我為該gem運行測試套件時,它失敗了,因為在將初始副本復制到/tmp/cache/<gemname>/XYZ.js
之后的某個時刻,整個tmp文件夾都被清除了,其中唯一的東西到測試實際開始運行的時間是/tmp/cache/assets
。 我不明白這可能與測試套件和其他2種工作方法的行為有所不同。 好像初始化順序不同。 通過rackup
會改變初始化順序嗎?
請注意,在進行tmp復制的代碼之前,特別是在此之前,測試套件可以正常工作。 只是生成的普通enginex
代碼。
這與初始化程序無關,而與另一個測試案例(對於生成器)無關,后者破壞了tmp文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.