Class: Petitest::TestGroup
- Inherits:
-
Object
- Object
- Petitest::TestGroup
- Defined in:
- lib/petitest/test_group.rb
Instance Attribute Summary collapse
- #test_class ⇒ Class readonly
Instance Method Summary collapse
- #description ⇒ String
- #full_description ⇒ String
-
#initialize(test_class:) ⇒ TestGroup
constructor
A new instance of TestGroup.
- #metadata ⇒ Hash{Symbol => Object}
- #nest_level ⇒ Integer
- #self_and_descendant_tests ⇒ Array<Petitest::Test>
- #sub_test_groups ⇒ Array<Petitest::TestGroup>
- #tests ⇒ Array<Petitest::Test>
Constructor Details
#initialize(test_class:) ⇒ TestGroup
Returns a new instance of TestGroup.
7 8 9 |
# File 'lib/petitest/test_group.rb', line 7 def initialize(test_class:) @test_class ||= test_class end |
Instance Attribute Details
#test_class ⇒ Class (readonly)
4 5 6 |
# File 'lib/petitest/test_group.rb', line 4 def test_class @test_class end |
Instance Method Details
#description ⇒ String
12 13 14 |
# File 'lib/petitest/test_group.rb', line 12 def description test_class.description end |
#full_description ⇒ String
17 18 19 |
# File 'lib/petitest/test_group.rb', line 17 def full_description test_class.test_ancestors.reverse.map(&:description).join(" ") end |
#metadata ⇒ Hash{Symbol => Object}
22 23 24 |
# File 'lib/petitest/test_group.rb', line 22 def test_class. end |
#nest_level ⇒ 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_tests ⇒ Array<Petitest::Test>
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_groups ⇒ Array<Petitest::TestGroup>
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 |
#tests ⇒ Array<Petitest::Test>
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 |