Module: Minitest::Guard
Overview
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
Instance Method Summary collapse
-
#jruby?(platform = RUBY_PLATFORM) ⇒ Boolean
Is this running on jruby?.
-
#maglev?(platform = defined?(RUBY_ENGINE) && RUBY_ENGINE) ⇒ Boolean
Is this running on maglev?.
-
#mri?(platform = RUBY_DESCRIPTION) ⇒ Boolean
Is this running on mri?.
-
#osx?(platform = RUBY_PLATFORM) ⇒ Boolean
Is this running on macOS?.
-
#rubinius?(platform = defined?(RUBY_ENGINE) && RUBY_ENGINE) ⇒ Boolean
Is this running on rubinius?.
-
#windows?(platform = RUBY_PLATFORM) ⇒ Boolean
Is this running on windows?.
Instance Method Details
#jruby?(platform = RUBY_PLATFORM) ⇒ Boolean
Is this running on jruby?
1059 1060 1061 |
# File 'lib/minitest.rb', line 1059 def jruby? platform = RUBY_PLATFORM "java" == platform end |
#maglev?(platform = defined?(RUBY_ENGINE) && RUBY_ENGINE) ⇒ Boolean
Is this running on maglev?
1066 1067 1068 1069 1070 1071 |
# File 'lib/minitest.rb', line 1066 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) ⇒ Boolean
Is this running on mri?
1076 1077 1078 |
# File 'lib/minitest.rb', line 1076 def mri? platform = RUBY_DESCRIPTION /^ruby/ =~ platform end |
#osx?(platform = RUBY_PLATFORM) ⇒ Boolean
Is this running on macOS?
1083 1084 1085 |
# File 'lib/minitest.rb', line 1083 def osx? platform = RUBY_PLATFORM /darwin/ =~ platform end |
#rubinius?(platform = defined?(RUBY_ENGINE) && RUBY_ENGINE) ⇒ Boolean
Is this running on rubinius?
1090 1091 1092 1093 1094 1095 |
# File 'lib/minitest.rb', line 1090 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) ⇒ Boolean
Is this running on windows?
1100 1101 1102 |
# File 'lib/minitest.rb', line 1100 def windows? platform = RUBY_PLATFORM /mswin|mingw/ =~ platform end |