使用Spin运行Guard可以很好地保持我的测试速度,除非资产是相关的并且需要编译。似乎每当我更改其中的某些内容时,测试环境都会重新编译所有资产。我已经看到了部署脚本的示例,这些脚本只重新编译源已更改的资产。这可以用于测试吗?或者是否有另一种加速测试资产编译的方法?
我正在使用一个相当具体的设置,所以我很乐意在需要时提供更多信息,但我觉得这个问题的答案可能会在很多情况下使用而不仅仅是我的。
答案 0 :(得分:1)
你可以看看两个月前写的this article。这似乎相当复杂。内森只对资产进行了gem that precompiles的修改。它可以用于开发和测试环境。
编辑:这是another article,与加快我们的测试有关。它对js测试有不同的观点。
答案 1 :(得分:0)
例如,您可以避免在应用程序js和css文件中添加require_tree
。
此外,使用适当的文件扩展名 - 如果某些内容是js - 那么将其命名为普通的js文件。对于css和scss也一样。
您也可以在本地对资产进行预编译,使其在开发时通过命令rake assets:precompile
进行本地编译 - 但请记住在测试之后将其删除,以便下次查看资产的更改(可以在供应商文件夹中生成)
答案 2 :(得分:-2)
我确定你可以试试:
在application.js文件中按树的顺序写下所有js文件,如下所示:
// = require jquery
// = require jquery_ui
// = require jquery.ui.core