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