1

我有以下测试:

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中所见

4

0 回答 0