Class: Minitest::Runnable
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Subclasses:
|
|
Inherits: | Object |
Defined in: | lib/minitest.rb |
Overview
Represents anything “runnable”, like Test, Spec, Benchmark, or whatever you can dream up.
Subclasses of this are automatically registered and available in .runnables.
Constant Summary
-
SIGNALS =
# File 'lib/minitest.rb', line 310Signal.list
Class Method Summary
-
.methods_matching(re)
Returns all instance methods matching the pattern
re
. -
.run(reporter, options = {})
Responsible for running all runnable methods in a given class, each in its own instance.
- .run_one_method(klass, method_name, reporter)
-
.runnable_methods
Each subclass of
Runnable
is responsible for overriding this method to return all runnable methods. -
.runnables
Returns all subclasses of
Runnable
.
Instance Attribute Summary
-
#assertions
rw
Number of assertions executed in this run.
-
#failures
rw
An assertion raised during the run, if any.
-
#name
rw
Name of the run.
-
#name=(o)
rw
Set the name of the run.
-
#passed? ⇒ Boolean
readonly
Did this run pass?
-
#skipped? ⇒ Boolean
readonly
Was this run skipped? See #passed? for more information.
Instance Method Summary
-
#result_code
Returns a single character string to print based on the result of the run.
-
#run
Runs a single method.
Class Method Details
.methods_matching(re)
Returns all instance methods matching the pattern re
.
# File 'lib/minitest.rb', line 263
def self.methods_matching re public_instance_methods(true).grep(re).map(&:to_s) end
.run(reporter, options = {})
Responsible for running all runnable methods in a given class, each in its own instance. Each instance is passed to the reporter to record.
# File 'lib/minitest.rb', line 278
def self.run reporter, = {} filter = [:filter] || '/./' filter = Regexp.new $1 if filter =~ /\/(.*)\// filtered_methods = self.runnable_methods.find_all { |m| filter === m || filter === "#{self}##{m}" } with_info_handler reporter do filtered_methods.each do |method_name| run_one_method self, method_name, reporter end end end
.run_one_method(klass, method_name, reporter)
[ GitHub ]# File 'lib/minitest.rb', line 293
def self.run_one_method klass, method_name, reporter reporter.record Minitest.run_one_method(klass, method_name) end
.runnable_methods
Each subclass of Runnable
is responsible for overriding this method to return all runnable methods. See #methods_matching
.
# File 'lib/minitest.rb', line 329
def self.runnable_methods raise NotImplementedError, "subclass responsibility" end
.runnables
Returns all subclasses of Runnable
.
# File 'lib/minitest.rb', line 336
def self.runnables @@runnables end
Instance Attribute Details
#assertions (rw)
Number of assertions executed in this run.
# File 'lib/minitest.rb', line 234
attr_accessor :assertions
#failures (rw)
An assertion raised during the run, if any.
# File 'lib/minitest.rb', line 239
attr_accessor :failures
#name (rw)
Name of the run.
# File 'lib/minitest.rb', line 244
def name @NAME end
#name=(o) (rw)
Set the name of the run.
# File 'lib/minitest.rb', line 251
def name= o @NAME = o end
#passed? ⇒ Boolean
(readonly)
Did this run pass?
Note: skipped runs are not considered passing, but they don't cause the process to exit non-zero.
# File 'lib/minitest.rb', line 371
def passed? raise NotImplementedError, "subclass responsibility" end
#skipped? ⇒ Boolean
(readonly)
Was this run skipped? See #passed? for more information.
# File 'lib/minitest.rb', line 386
def skipped? raise NotImplementedError, "subclass responsibility" end
Instance Method Details
#result_code
Returns a single character string to print based on the result of the run. Eg “.”, “F”, or “E”.
# File 'lib/minitest.rb', line 379
def result_code raise NotImplementedError, "subclass responsibility" end
#run
Runs a single method. Needs to return self.
# File 'lib/minitest.rb', line 361
def run raise NotImplementedError, "subclass responsibility" end