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
Is this running on jruby?
# File minitest-5.14.2/lib/minitest.rb, line 954 def jruby? platform = RUBY_PLATFORM "java" == platform end
Is this running on maglev?
# File minitest-5.14.2/lib/minitest.rb, line 961 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
Is this running on mri?
# File minitest-5.14.2/lib/minitest.rb, line 971 def mri? platform = RUBY_DESCRIPTION /^ruby/ =~ platform end
Is this running on macOS?
# File minitest-5.14.2/lib/minitest.rb, line 978 def osx? platform = RUBY_PLATFORM /darwin/ =~ platform end
Is this running on rubinius?
# File minitest-5.14.2/lib/minitest.rb, line 985 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