File: testunit1.rb

package info (click to toggle)
ruby-brass 1.2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 104 kB
  • sloc: ruby: 172; makefile: 4
file content (42 lines) | stat: -rw-r--r-- 1,222 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
module Test #:nodoc:
  module Unit #:nodoc:
    class TestCase #:nodoc:
      # Runs the individual test method represented by this
      # instance of the fixture, collecting statistics, failures
      # and errors in result.
      def run(result)
        yield(STARTED, name)
        @_result = result
        begin
          setup
          __send__(@method_name)
        rescue AssertionFailedError => e
          add_failure(e.message, e.backtrace)
        rescue Exception => e
          if e.respond_to?(:assertion?) && e.assertion?
            add_failure(e.message, e.backtrace)
          else
            raise if PASSTHROUGH_EXCEPTIONS.include? $!.class
            add_error($!)
          end
        ensure
          begin
            teardown
          rescue AssertionFailedError => e
            add_failure(e.message, e.backtrace)
          rescue Exception => e
            if e.respond_to?(:assertion?) && e.assertion?
              add_failure(e.message, e.backtrace)
            else
              raise if PASSTHROUGH_EXCEPTIONS.include? $!.class
              add_error($!)
            end
          end
        end
        result.add_run
        yield(FINISHED, name)
      end 
    end
  end
end