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?
1124 1125 1126 |
# File 'lib/minitest.rb', line 1124 def jruby? platform = RUBY_PLATFORM "java" == platform end |
#maglev?(platform = defined?(RUBY_ENGINE) && RUBY_ENGINE) ⇒ Boolean
Is this running on maglev?
1131 1132 1133 1134 1135 1136 |
# 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) ⇒ Boolean
Is this running on mri?
1141 1142 1143 |
# File 'lib/minitest.rb', line 1141 def mri? platform = RUBY_DESCRIPTION platform.start_with? "ruby" end |
#osx?(platform = RUBY_PLATFORM) ⇒ Boolean
Is this running on macOS?
1148 1149 1150 |
# File 'lib/minitest.rb', line 1148 def osx? platform = RUBY_PLATFORM platform.include? "darwin" end |
#rubinius?(platform = defined?(RUBY_ENGINE) && RUBY_ENGINE) ⇒ Boolean
Is this running on rubinius?
1155 1156 1157 1158 1159 1160 |
# 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) ⇒ Boolean
Is this running on windows?
1165 1166 1167 |
# File 'lib/minitest.rb', line 1165 def windows? platform = RUBY_PLATFORM /mswin|mingw/.match? platform end |