Class: Petitest::TestPlan

Inherits:
Object
  • Object
show all
Defined in:
lib/petitest/test_plan.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(test_classes:) ⇒ TestPlan

Returns a new instance of TestPlan.

Parameters:

  • test_classes (Array<Class>)


7
8
9
# File 'lib/petitest/test_plan.rb', line 7

def initialize(test_classes:)
  @test_classes = test_classes
end

Instance Attribute Details

#test_classesArray<Class> (readonly)

Returns:

  • (Array<Class>)


4
5
6
# File 'lib/petitest/test_plan.rb', line 4

def test_classes
  @test_classes
end

Instance Method Details

#passed?Boolean

Returns:

  • (Boolean)


12
13
14
15
16
# File 'lib/petitest/test_plan.rb', line 12

def passed?
  tests.map(&:runner).all? do |runner|
    runner.passed? || runner.skipped?
  end
end

#runObject



18
19
20
21
22
23
24
# 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_groupsArray<Petitest::TestGroup>

Returns:



27
28
29
# File 'lib/petitest/test_plan.rb', line 27

def test_groups
  @test_groups ||= test_classes.map(&:generate_test_group)
end

#testsArray<Petitest::Test>

Returns:



32
33
34
# File 'lib/petitest/test_plan.rb', line 32

def tests
  test_groups.flat_map(&:self_and_descendant_tests)
end