Class: Petitest::TestGroup

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(test_class:) ⇒ TestGroup

Returns a new instance of TestGroup.

Parameters:

  • test_class (Class)


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

def initialize(test_class:)
  @test_class ||= test_class
end

Instance Attribute Details

#test_classClass (readonly)

Returns:

  • (Class)


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

def test_class
  @test_class
end

Instance Method Details

#descriptionString

Returns:

  • (String)


12
13
14
# File 'lib/petitest/test_group.rb', line 12

def description
  test_class.description
end

#full_descriptionString

Returns:

  • (String)


17
18
19
# File 'lib/petitest/test_group.rb', line 17

def full_description
  test_class.test_ancestors.reverse.map(&:description).join(" ")
end

#metadataHash{Symbol => Object}

Returns:

  • (Hash{Symbol => Object})


22
23
24
# File 'lib/petitest/test_group.rb', line 22

def 
  test_class.
end

#nest_levelInteger

Returns:

  • (Integer)


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

def nest_level
  test_class.test_ancestors.length - 1
end

#self_and_descendant_testsArray<Petitest::Test>

Returns:



32
33
34
# 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_groupsArray<Petitest::TestGroup>

Returns:



37
38
39
# File 'lib/petitest/test_group.rb', line 37

def sub_test_groups
  @sub_test_groups ||= test_class.children.map(&:generate_test_group)
end

#testsArray<Petitest::Test>

Returns:



42
43
44
45
46
47
48
49
# 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