Sha256: 2ab362c4c965be828a316b6e218abbe50361704cb164cb896f48b356a94ff17e

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

########################################################################################################################
# Define an atomic test. This class has to be inherited in child classes, where the developer writes test code.
########################################################################################################################

require_relative 'abstract_reporter'
require_relative 'censor'

module Rproof
  class Test
    def initialize(reporter, name, description = nil)
      @id = object_id
      @reporter = reporter
      @name = name
      @description = description
      @censor = Censor.new reporter, name, description
    end

    def setup
    end

    def run
      raise "This method has to be overriden. Please redefine 'run' method with your test code."
    end

    def clean_up
    end

    def execute
      @reporter.report_test_begin(@id, @name, @description)
      begin
        setup
        run
        clean_up
      rescue Exception => e
        @censor.log_exception e
      end
      @reporter.report_test_end(@id, @censor.test_result)
      @censor.test_result
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rproof-0.0.1 lib/rproof/test.rb