首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby Rake -默认运行Ruby -w?

Ruby Rake -默认运行Ruby -w?
EN

Stack Overflow用户
提问于 2016-04-28 13:56:19
回答 1查看 106关注 0票数 0

当我尝试使用rake在ruby上运行一些基本的单元测试时,似乎打开了ruby解释器上的调试。这最终导致我在STDOUT中看到了大量警告消息。我不确定为什么会发生这种情况,是否应该发生?

代码语言:javascript
复制
D:\dev\git_repos\app_folder>ruby -v
ruby 2.0.0p647 (2015-08-18) [i386-mingw32]

D:\dev\git_repos\app_folder>rake test TEST=test/midrange_portal_test.rb

就像4页的警告

让我相信调试已经打开的输出:

代码语言:javascript
复制
Command failed with status (2): [ruby -w -I"lib;test" -
I"D:/apps/Ruby200/lib/ruby/gems/2.0.0/gems/rake-11.1.2/lib" 
"D:/apps/Ruby200/lib/ruby/gems/2.0.0/gems/rake-11.1.2/lib/rake/rake_test_loader.rb" "test/midrange_portal_test.rb" ]

D:\dev\git_repos\app_folder>gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.14.1
  - RUBY VERSION: 2.0.0 (2015-08-18 patchlevel 647) [i386-mingw32]
  - INSTALLATION DIRECTORY: D:/apps/Ruby200/lib/ruby/gems/2.0.0
  - RUBY EXECUTABLE: D:/apps/Ruby200/bin/ruby.exe
  - EXECUTABLE DIRECTORY: D:/apps/Ruby200/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mingw32
  - GEM PATHS:
     - D:/apps/Ruby200/lib/ruby/gems/2.0.0
     - H:/.gem/ruby/2.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/

注意这个命令是如何"ruby -w“的。我不知道为什么它会默认到这个级别的调试?任何帮助都会非常感谢,因为我被难住了。

EN

回答 1

Stack Overflow用户

发布于 2016-04-29 06:59:46

因此,经过大量的挖掘,发现使用ruby的rake版本在默认情况下运行带有-w标志的ruby。如果您查看/gems/rake-11.1.2/lib/rake/testtask.rb,会发现有一个设置ruby警告标志的布尔值:

代码语言:javascript
复制
def initialize(name=:test)
  @name = name
  @libs = ["lib"]
  @pattern = nil
  @options = nil
  @test_files = nil
  @verbose = false
  @warning = true   <--------------------------
  @loader = :rake
  @ruby_opts = []
  @description = "Run tests" + (@name == :test ? "" : " for #{@name}")
  yield self if block_given?
  @pattern = 'test/test*.rb' if @pattern.nil? && @test_files.nil?
  define
end

你可以用猴子补丁来关闭它,但老实说,这可能只是一个好主意,让它开着,只是修复你的警告。在我的例子中,我正在处理大量的遗留代码,这些代码只是偶尔更新一次,所以不值得这么做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36906356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档