我有以下测试:
def test_to_show_warnings_if_app_path_is_defined
require File.dirname(__FILE__) + '/../lib/macros.rb'
warnings = $stderr.string.split(/\n/)
warnings.each { |w| assert_no_match(/warning: already initialized constant/, w) }
end
如果有关于已初始化常量的警告,它应该会失败。在所需文件的另一侧,我有以下问题:
MYPATH = ""
MYPATH = File.expand_path(File.split(APP_PATH)[0] + "/macros", __FILE__) if defined?(APP_PATH)
它检查 APP_PATH 是否已定义并保存在 MYPATH 上。显然,如果定义了 APP_PATH,它将覆盖常量。除非测试捕获此警告,否则我无法更正上面的代码。我应该怎么办?
请记住 APP_PATH 是在 rails 服务器运行时定义的,如您在第 1.3 节 script/rails中所见