[英]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.