Class Test::Unit::TestSuite
In: test/unit/testsuite.rb
Parent: Object

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.

Methods

<<   ==   delete   empty?   new   run   size   to_s  

Constants

STARTED = name + "::STARTED"
FINISHED = name + "::FINISHED"

Attributes

name  [R] 
tests  [R] 

Public Class methods

Creates a new TestSuite with the given name.

[Source]

# File test/unit/testsuite.rb, line 24
      def initialize(name="Unnamed TestSuite")
        @name = name
        @tests = []
      end

Public Instance methods

Adds the test to the suite.

[Source]

# File test/unit/testsuite.rb, line 40
      def <<(test)
        @tests << test
        self
      end

It‘s handy to be able to compare TestSuite instances.

[Source]

# File test/unit/testsuite.rb, line 69
      def ==(other)
        return false unless(other.kind_of?(self.class))
        return false unless(@name == other.name)
        @tests == other.tests
      end

[Source]

# File test/unit/testsuite.rb, line 45
      def delete(test)
        @tests.delete(test)
      end

[Source]

# File test/unit/testsuite.rb, line 58
      def empty?
        tests.empty?
      end

Runs the tests and/or suites contained in this TestSuite.

[Source]

# File test/unit/testsuite.rb, line 31
      def run(result, &progress_block)
        yield(STARTED, name)
        @tests.each do |test|
          test.run(result, &progress_block)
        end
        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.

[Source]

# File test/unit/testsuite.rb, line 52
      def size
        total_size = 0
        @tests.each { |test| total_size += test.size }
        total_size
      end

Overridden to return the name given the suite at creation.

[Source]

# File test/unit/testsuite.rb, line 64
      def to_s
        @name
      end

[Validate]

ruby-doc.org is hosted and maintained by James Britt and Neurogami, LLC, a Ruby consulting company. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.

Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.

For more information on the Ruby programming language, visit ruby-lang.org.

For information about this site or Neurogami, contact james@neurogami.com.