| Class | Test::Unit::TestCase |
| In: |
test/unit/testcase.rb
|
| Parent: | Object |
Ties everything together. If you subclass and add your own test methods, it takes care of making them into tests and wrapping those tests into a suite. It also does the nitty-gritty of actually running an individual test and collecting its results into a Test::Unit::TestResult object.
| STARTED | = | name + "::STARTED" |
| FINISHED | = | name + "::FINISHED" |
| method_name | [R] |
Creates a new instance of the fixture for running the test represented by test_method_name.
# File test/unit/testcase.rb, line 33 def initialize(test_method_name) unless(respond_to?(test_method_name) and (method(test_method_name).arity == 0 || method(test_method_name).arity == -1)) throw :invalid_test end @method_name = test_method_name @test_passed = true end
Rolls up all of the test* methods in the fixture into one suite, creating a new instance of the fixture for each method.
# File test/unit/testcase.rb, line 46 def self.suite method_names = public_instance_methods(true) tests = method_names.delete_if {|method_name| method_name !~ /^test./} suite = TestSuite.new(name) tests.sort.each do |test| catch(:invalid_test) do suite << new(test) end end if (suite.empty?) catch(:invalid_test) do suite << new(:default_test) end end return suite end
Runs the individual test method represented by this instance of the fixture, collecting statistics, failures and errors in result.
# File test/unit/testcase.rb, line 67 def run(result) yield(STARTED, name) @_result = result begin setup __send__(@method_name) rescue AssertionFailedError => e add_failure(e.message, e.backtrace) rescue StandardError, ScriptError add_error($!) ensure begin teardown rescue AssertionFailedError => e add_failure(e.message, e.backtrace) rescue StandardError, ScriptError add_error($!) end end result.add_run yield(FINISHED, name) end
Called before every test method runs. Can be used to set up fixture information.
# File test/unit/testcase.rb, line 92 def setup end
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.