module Minitest::Guard

Provides a simple set of guards that you can use in your tests to skip execution if it is not applicable. These methods are mixed into Test as both instance and class methods so you can use them inside or outside of the test methods.

def test_something_for_mri
  skip "bug 1234"  if jruby?
  # ...
end

if windows? then
  # ... lots of test methods ...
end

Public Instance Methods

jruby?(platform = RUBY_PLATFORM) click to toggle source

Is this running on jruby?

# File lib/minitest.rb, line 1124
def jruby? platform = RUBY_PLATFORM
  "java" == platform
end
maglev?(platform = defined?(RUBY_ENGINE) && RUBY_ENGINE) click to toggle source

Is this running on maglev?

# File lib/minitest.rb, line 1131
def maglev? platform = defined?(RUBY_ENGINE) && RUBY_ENGINE
  where = Minitest.filter_backtrace(caller).first
  where = where.split(":in ", 2).first # clean up noise
  warn "DEPRECATED: `maglev?` called from #{where}. This will fail in Minitest 6."
  "maglev" == platform
end
mri?(platform = RUBY_DESCRIPTION) click to toggle source

Is this running on mri?

# File lib/minitest.rb, line 1141
def mri? platform = RUBY_DESCRIPTION
  platform.start_with? "ruby"
end
osx?(platform = RUBY_PLATFORM) click to toggle source

Is this running on macOS?

# File lib/minitest.rb, line 1148
def osx? platform = RUBY_PLATFORM
  platform.include? "darwin"
end
rubinius?(platform = defined?(RUBY_ENGINE) && RUBY_ENGINE) click to toggle source

Is this running on rubinius?

# File lib/minitest.rb, line 1155
def rubinius? platform = defined?(RUBY_ENGINE) && RUBY_ENGINE
  where = Minitest.filter_backtrace(caller).first
  where = where.split(":in ", 2).first # clean up noise
  warn "DEPRECATED: `rubinius?` called from #{where}. This will fail in Minitest 6."
  "rbx" == platform
end
windows?(platform = RUBY_PLATFORM) click to toggle source

Is this running on windows?

# File lib/minitest.rb, line 1165
def windows? platform = RUBY_PLATFORM
  /mswin|mingw/.match? platform
end