Class: Minitest::Spec
| Relationships & Source Files | |
| Namespace Children | |
| Modules: | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: | |
| Instance Chain: | |
| Inherits: | Minitest::Test 
 | 
| Defined in: | lib/minitest/spec.rb | 
Overview
Spec – The faster, better, less-magical spec framework!
For a list of expectations, see Expectations.
Constant Summary
- 
    TYPES =
    Internal use only
    
 # File 'lib/minitest/spec.rb', line 342DSL::TYPES 
Runnable - Inherited
  
  Assertions - Included
  
  Reportable - Included
  
  Test - Inherited
  
Class Attribute Summary
Class Method Summary
- .current Internal use only
- .new(name) ⇒ Spec constructor Internal use only
DSL - Extended
| after | Define an ‘after’ action. | 
| before | Define a ‘before’ action. | 
| it | Define an expectation with name  | 
| let | Essentially, define an accessor for  | 
| register_spec_type | Register a new type of spec that matches the spec’s description. | 
| spec_type | Figure out the spec class to use based on a spec’s description. | 
| specify | Alias for DSL#it. | 
| subject | Another lazy man’s accessor generator. | 
| children, create, describe_stack, name, nuke_test_methods!, to_s | |
Test - Inherited
| .i_suck_and_my_tests_are_order_dependent! | Call this at the top of your tests when you absolutely positively need to have ordered tests. | 
| .make_my_diffs_pretty! | Make diffs for this  | 
| .parallelize_me! | Call this at the top of your tests (inside the  | 
| .runnable_methods | Returns all instance methods starting with “test_”. | 
Guard - Extended
| jruby? | Is this running on jruby? | 
| maglev? | Is this running on maglev? | 
| mri? | Is this running on mri? | 
| osx? | Is this running on macOS? | 
| rubinius? | Is this running on rubinius? | 
| windows? | Is this running on windows? | 
Runnable - Inherited
| .methods_matching | Returns all instance methods matching the pattern  | 
| .run | Responsible for running all runnable methods in a given class, each in its own instance. | 
| .run_one_method | Runs a single method and has the reporter record the result. | 
| .runnable_methods | Each subclass of  | 
| .runnables | Returns all subclasses of  | 
| .test_order | Defines the order to run tests (:random by default). | 
| .inherited, .new, .on_signal, .reset, .with_info_handler | |
Instance Attribute Summary
Reportable - Included
Assertions - Included
| #skipped? | Was this testcase skipped? Meant for  | 
Runnable - Inherited
| #assertions | Number of assertions executed in this run. | 
| #failures | An assertion raised during the run, if any. | 
| #metadata | Metadata you attach to the test results that get sent to the reporter. | 
| #metadata= | Sets metadata, mainly used for Result.from. | 
| #metadata? | Returns true if metadata exists. | 
| #name | Name of the run. | 
| #name= | Set the name of the run. | 
| #passed? | Did this run pass? | 
| #skipped? | Was this run skipped? See  | 
| #time | The time it took to run. | 
Instance Method Summary
Test - Inherited
| #run | Runs a single test with setup/teardown hooks. | 
| #capture_exceptions | LifecycleHooks. | 
| #class_name, #neuter_exception, #new_exception, #sanitize_exception | |
Guard - Included
| #jruby? | Is this running on jruby? | 
| #maglev? | Is this running on maglev? | 
| #mri? | Is this running on mri? | 
| #osx? | Is this running on macOS? | 
| #rubinius? | Is this running on rubinius? | 
| #windows? | Is this running on windows? | 
Test::LifecycleHooks - Included
| #after_setup | Runs before every test, after setup. | 
| #after_teardown | Runs after every test, after teardown. | 
| #before_setup | Runs before every test, before setup. | 
| #before_teardown | Runs after every test, before teardown. | 
| #setup | Runs before every test. | 
| #teardown | Runs after every test. | 
Reportable - Included
| #location | The location identifier of this test. | 
| #result_code | Returns “.”, “F”, or “E” based on the result of the run. | 
| #class_name | |
Assertions - Included
| #assert | Fails unless  | 
| #assert_empty | Fails unless  | 
| #assert_equal | Fails unless  | 
| #assert_in_delta | For comparing Floats. | 
| #assert_in_epsilon | For comparing Floats. | 
| #assert_includes | Fails unless  | 
| #assert_instance_of | Fails unless  | 
| #assert_kind_of | Fails unless  | 
| #assert_match | Fails unless  | 
| #assert_mock | Assert that the mock verifies correctly. | 
| #assert_nil | Fails unless  | 
| #assert_operator | For testing with binary operators. | 
| #assert_output | Fails if stdout or stderr do not output the expected results. | 
| #assert_path_exists | Fails unless  | 
| #assert_pattern | For testing with pattern matching (only supported with Ruby 3.0 and later). | 
| #assert_predicate | For testing with predicates. | 
| #assert_raises | Fails unless the block raises one of  | 
| #assert_respond_to | Fails unless  | 
| #assert_same | Fails unless  | 
| #assert_send | 
 | 
| #assert_silent | Fails if the block outputs anything to stderr or stdout. | 
| #assert_throws | Fails unless the block throws  | 
| #capture_io | Captures $stdout and $stderr into strings: | 
| #capture_subprocess_io | Captures $stdout and $stderr into strings, using Tempfile to ensure that subprocess IO is captured as well. | 
| #diff | Returns a diff between  | 
| #exception_details | Returns details for exception  | 
| #fail_after | Fails after a given date (in the local time zone). | 
| #flunk | Fails with  | 
| #message | Returns a proc that will output  | 
| #mu_pp | This returns a human-readable version of  | 
| #mu_pp_for_diff | This returns a diff-able more human-readable version of  | 
| #pass | used for counting assertions. | 
| #refute | Fails if  | 
| #refute_empty | Fails if  | 
| #refute_equal | Fails if  | 
| #refute_in_delta | For comparing Floats. | 
| #refute_in_epsilon | For comparing Floats. | 
| #refute_includes | Fails if  | 
| #refute_instance_of | Fails if  | 
| #refute_kind_of | Fails if  | 
| #refute_match | Fails if  | 
| #refute_nil | Fails if  | 
| #refute_operator | Fails if  | 
| #refute_path_exists | Fails if  | 
| #refute_pattern | For testing with pattern matching (only supported with Ruby 3.0 and later). | 
| #refute_predicate | For testing with predicates. | 
| #refute_respond_to | Fails if  | 
| #refute_same | Fails if  | 
| #skip | Skips the current run. | 
| #skip_until | Skips the current run until a given date (in the local time zone). | 
| #things_to_diff | Returns things to diff [expect, butwas], or [nil, nil] if nothing to diff. | 
| #_synchronize, #_where | |
Runnable - Inherited
| #result_code | Returns a single character string to print based on the result of the run. | 
| #run | Runs a single method. | 
| #failure, #marshal_dump, #marshal_load, #time_it | |
Constructor Details
    .new(name)  ⇒ Spec 
  
  # File 'lib/minitest/spec.rb', line 112
def initialize name # :nodoc: super Thread.current[:current_spec] = self end
Class Method Details
.current
# File 'lib/minitest/spec.rb', line 108
def self.current # :nodoc: Thread.current[:current_spec] end