资产管道出现以下问题.
>我有一个包含图像的HTML电子邮件.
>我有测试覆盖电子邮件成功发送的情况.
>所有测试通过.
>当进行生产时,需要发送电子邮件的功能被破坏,因为HTML布局引用了不存在的图像.
这显然适用于所有预编译资产.
在我看来,突然的测试不再可靠.有什么办法可以避免这种情况再次发生吗?
解决方法
我自己找到了完美的解决方案.如果你设置
config.assets.compile = false config.assets.digest = true
在测试环境中,您的测试将依赖于预编译的资产.
由于在快速开发和测试阶段每次预编译资产都令人厌烦,所以在我的情况下,只有在CI上进行配置就足够了.
您可以使用以下命令设置一个名为ci_config.rb的初始化程序:
if ENV['CI'] class YourApp::Application config.assets.compile = false config.assets.digest = true end end
并配置您的CI运行rake资产:预编译启动和耙资产:清理结束.