class Petitest::TestPlan

Attributes

test_classes[R]

@return [Array<Class>]

Public Class Methods

new(test_classes:) click to toggle source

@param test_classes [Array<Class>]

# File lib/petitest/test_plan.rb, line 7
def initialize(test_classes:)
  @test_classes = test_classes
end

Public Instance Methods

passed?() click to toggle source

@return [Boolean]

# File lib/petitest/test_plan.rb, line 12
def passed?
  tests.map(&:runner).all? do |runner|
    runner.passed? || runner.skipped?
  end
end
run() click to toggle source
# File lib/petitest/test_plan.rb, line 18
def run
  before_running_test_plan
  test_groups.each do |test_group|
    run_test_group(test_group)
  end
  after_running_test_plan
end
test_groups() click to toggle source

@return [Array<Petitest::TestGroup>]

# File lib/petitest/test_plan.rb, line 27
def test_groups
  @test_groups ||= test_classes.map(&:generate_test_group)
end
tests() click to toggle source

@return [Array<Petitest::Test>]

# File lib/petitest/test_plan.rb, line 32
def tests
  test_groups.flat_map(&:self_and_descendant_tests)
end

Private Instance Methods

after_running_test(test) click to toggle source

@param test [Petitest::Test]

# File lib/petitest/test_plan.rb, line 39
def after_running_test(test)
  subscribers.each do |subscriber|
    subscriber.after_running_test(test)
  end
end
after_running_test_group(test_group) click to toggle source

@param test_group [Petitest::TestGroup]

# File lib/petitest/test_plan.rb, line 46
def after_running_test_group(test_group)
  subscribers.each do |subscriber|
    subscriber.after_running_test_group(test_group)
  end
end
after_running_test_plan() click to toggle source
# File lib/petitest/test_plan.rb, line 52
def after_running_test_plan
  subscribers.each do |subscriber|
    subscriber.after_running_test_plan(self)
  end
end
before_running_test(test) click to toggle source

@param test [Petitest::Test]

# File lib/petitest/test_plan.rb, line 59
def before_running_test(test)
  subscribers.each do |subscriber|
    subscriber.before_running_test(test)
  end
end
before_running_test_group(test_group) click to toggle source

@param test_group [Petitest::TestGroup]

# File lib/petitest/test_plan.rb, line 66
def before_running_test_group(test_group)
  subscribers.each do |subscriber|
    subscriber.before_running_test_group(test_group)
  end
end
before_running_test_plan() click to toggle source
# File lib/petitest/test_plan.rb, line 72
def before_running_test_plan
  subscribers.each do |subscriber|
    subscriber.before_running_test_plan(self)
  end
end
run_test(test) click to toggle source

@param test [Petitest::Test]

# File lib/petitest/test_plan.rb, line 79
def run_test(test)
  before_running_test(test)
  test.runner.run
  after_running_test(test)
end
run_test_group(test_group) click to toggle source

@param test_group [Petitest::TestGroup]

# File lib/petitest/test_plan.rb, line 86
def run_test_group(test_group)
  before_running_test_group(test_group)
  test_group.tests.each do |test|
    run_test(test)
  end
  test_group.sub_test_groups.each do |sub_test_group|
    run_test_group(sub_test_group)
  end
  after_running_test_group(test_group)
end
subscribers() click to toggle source

@return [Array<Petitest::Subscribers::BaseSubscriber>]

# File lib/petitest/test_plan.rb, line 98
def subscribers
  ::Petitest.configuration.subscribers
end