A collection of tests which can be run.
Note: It is easy to confuse a TestSuite instance with something that has a static suite method; I know because I have trouble keeping them straight. Think of something that has a suite method as simply providing a way to get a meaningful TestSuite instance.
Creates a new TestSuite with the given name.
# File lib/test/unit/testsuite.rb, line 26 def initialize(name="Unnamed TestSuite", test_case=nil) @name = name @tests = [] @test_case = test_case end
Adds the test to the suite.
# File lib/test/unit/testsuite.rb, line 45 def <<(test) @tests << test self end
It’s handy to be able to compare TestSuite instances.
# File lib/test/unit/testsuite.rb, line 74 def ==(other) return false unless(other.kind_of?(self.class)) return false unless(@name == other.name) @tests == other.tests end
# File lib/test/unit/testsuite.rb, line 50 def delete(test) @tests.delete(test) end
# File lib/test/unit/testsuite.rb, line 63
def empty?
tests.empty?
end
Runs the tests and/or suites contained in this TestSuite.
# File lib/test/unit/testsuite.rb, line 34 def run(result, &progress_block) yield(STARTED, name) run_startup(result) @tests.each do |test| test.run(result, &progress_block) end run_shutdown(result) yield(FINISHED, name) end
Retuns the rolled up number of tests in this suite; i.e. if the suite contains other suites, it counts the tests within those suites, not the suites themselves.
# File lib/test/unit/testsuite.rb, line 57 def size total_size = 0 @tests.each { |test| total_size += test.size } total_size end
Generated with the Darkfish Rdoc Generator 2.