0

我正在编写一个 gem,它必须//= require "XYZ"根据应用程序启动时的配置选择 XYZ.js 文件的哪个版本可用于 sprockets 语句。我的解决方案是将XYZ.variant.jsor复制XYZ.variant2.js/tmp/cache/<gemname>/XYZ.jsRails 应用程序中。如果我手动测试,这似乎可行;如果我去test/dummy文件夹并通过正确找到rackup的功能测试功能。XYZ.js如果我通过另一个 Rails 应用程序测试 gem,它可以工作(通过path:Gemfile)。

/tmp/cache/<gemname>/XYZ.js但是,当我为这个 gem 运行测试套件时,它失败了,因为在初始复制到/tmp/cache/assets. 我不明白这在测试套件和其他 2 种工作方法中如何表现不同。就好像初始化顺序不同之类的。有什么特别的东西可以通过运行来rackup改变初始化顺序吗?

请注意,测试套件在此之前运行良好,特别是添加到执行 tmp 复制的代码中。这只是enginex本来会生成的普通代码。

4

1 回答 1

0

这与初始化程序无关,而是另一个破坏 tmp 文件夹的测试用例(用于生成器)。

于 2013-02-27T03:43:23.357 回答