class Petitest::TestGroup

Attributes

test_class[R]

@return [Class]

Public Class Methods

new(test_class:) click to toggle source

@param test_class [Class]

# File lib/petitest/test_group.rb, line 7
def initialize(test_class:)
  @test_class ||= test_class
end

Public Instance Methods

description() click to toggle source

@return [String]

# File lib/petitest/test_group.rb, line 12
def description
  test_class.description
end
full_description() click to toggle source

@return [String]

# File lib/petitest/test_group.rb, line 17
def full_description
  test_class.test_ancestors.reverse.map(&:description).join(" ")
end
metadata() click to toggle source

@return [Hash{Symbol => Object}]

# File lib/petitest/test_group.rb, line 22
def metadata
  test_class.metadata
end
nest_level() click to toggle source

@return [Integer]

# File lib/petitest/test_group.rb, line 27
def nest_level
  test_class.test_ancestors.length - 1
end
self_and_descendant_tests() click to toggle source

@return [Array<Petitest::Test>]

# File lib/petitest/test_group.rb, line 32
def self_and_descendant_tests
  tests + sub_test_groups.flat_map(&:self_and_descendant_tests)
end
sub_test_groups() click to toggle source

@return [Array<Petitest::TestGroup>]

# File lib/petitest/test_group.rb, line 37
def sub_test_groups
  @sub_test_groups ||= test_class.children.map(&:generate_test_group)
end
tests() click to toggle source

@return [Array<Petitest::Test>]

# File lib/petitest/test_group.rb, line 42
def tests
  @tests ||= test_class.test_method_names.map do |test_method_name|
    test_class.new(
      test_group: self,
      test_method_name: test_method_name,
    )
  end
end