Method: Nitrous::Test.inherited

Defined in:
lib/nitrous/test.rb

.inherited(subclass) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/nitrous/test.rb', line 51

def self.inherited(subclass)
  class << subclass
    def inherited(subclass)
      Nitrous::Test.exclude(self)
      Nitrous::Test.inherited(subclass)
    end
  end
  if !@test_classes
    @test_classes = []
    at_exit do
      callbacks[:suite_setup].each(&:call)
      context = TestContext.create(@test_classes.sum {|klass| klass.tests.size})
      @test_classes.each do |klass|
        klass.run(context)
      end
      context.finish
      callbacks[:suite_teardown].each(&:call)
      exit(context.exit_status)
    end
  end
  @test_classes << subclass
end