Class: Inferno::Entities::Test
- Inherits:
-
Object
- Object
- Inferno::Entities::Test
- Extended by:
- Forwardable
- Includes:
- DSL
- Defined in:
- lib/inferno/entities/test.rb
Constant Summary
Constants included from DSL
DSL::EXTENDABLE_DSL_MODULES, DSL::INCLUDABLE_DSL_MODULES
Instance Attribute Summary collapse
-
#result_message ⇒ Object
Returns the value of attribute result_message.
-
#scratch ⇒ Object
readonly
Returns the value of attribute scratch.
-
#suite_options ⇒ Object
readonly
Returns the value of attribute suite_options.
-
#test_session_id ⇒ Object
readonly
Returns the value of attribute test_session_id.
Class Method Summary collapse
-
.block(&block) ⇒ Proc
(also: run)
Set/Get the block that is executed when a Test is run.
-
.input(name, *other_names, **input_params) ⇒ void
Define inputs for this Test.
-
.output(*output_definitions, **_output_params) ⇒ void
Define outputs for this Test.
-
.short_id ⇒ Object
Instance Method Summary collapse
-
#add_message(type, message) ⇒ void
Add a message to the result.
-
#info(message = nil) ⇒ void
Add an informational message to the results of a test.
-
#output(outputs) ⇒ void
Set output values.
-
#warning(message = nil) ⇒ void
Add a warning message to the results of a test.
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
111 112 113 114 115 116 117 118 |
# File 'lib/inferno/entities/test.rb', line 111 def method_missing(name, *args, &) parent_instance = self.class.parent&.new if parent_instance.respond_to?(name) parent_instance.send(name, *args, &) else super end end |
Instance Attribute Details
#result_message ⇒ Object
Returns the value of attribute result_message.
15 16 17 |
# File 'lib/inferno/entities/test.rb', line 15 def @result_message end |
#scratch ⇒ Object (readonly)
Returns the value of attribute scratch.
16 17 18 |
# File 'lib/inferno/entities/test.rb', line 16 def scratch @scratch end |
#suite_options ⇒ Object (readonly)
Returns the value of attribute suite_options.
16 17 18 |
# File 'lib/inferno/entities/test.rb', line 16 def @suite_options end |
#test_session_id ⇒ Object (readonly)
Returns the value of attribute test_session_id.
16 17 18 |
# File 'lib/inferno/entities/test.rb', line 16 def test_session_id @test_session_id end |
Class Method Details
.block(&block) ⇒ Proc Also known as: run
Set/Get the block that is executed when a Test is run
174 175 176 177 178 |
# File 'lib/inferno/entities/test.rb', line 174 def block(&block) return @block unless block_given? @block = block end |
.input(name, *other_names, **input_params) ⇒ void
This method returns an undefined value.
Define inputs for this Test
139 140 141 142 143 144 145 146 147 |
# File 'lib/inferno/entities/test.rb', line 139 def input(name, *other_names, **input_params) super if other_names.present? [name, *other_names].each { |input| attr_reader input } else attr_reader name end end |
.output(*output_definitions, **_output_params) ⇒ void
This method returns an undefined value.
Define outputs for this Test
157 158 159 160 161 162 163 |
# File 'lib/inferno/entities/test.rb', line 157 def output(*output_definitions, **_output_params) super output_definitions.each do |output| attr_accessor output end end |
.short_id ⇒ Object
182 183 184 185 186 187 188 |
# File 'lib/inferno/entities/test.rb', line 182 def short_id @short_id ||= begin prefix = parent.respond_to?(:short_id) ? "#{parent.short_id}." : '' suffix = parent ? (parent.tests.find_index(self) + 1).to_s.rjust(2, '0') : 'x' "#{prefix}#{suffix}" end end |
Instance Method Details
#add_message(type, message) ⇒ void
This method returns an undefined value.
Add a message to the result.
36 37 38 |
# File 'lib/inferno/entities/test.rb', line 36 def (type, ) << { type: type.to_s, message: format_markdown() } end |
#info(message = nil) ⇒ void
This method returns an undefined value.
Add an informational message to the results of a test. If passed a block, a failed assertion will become an info message and test execution will continue.
75 76 77 78 79 80 81 82 83 84 |
# File 'lib/inferno/entities/test.rb', line 75 def info( = nil) unless block_given? ('info', ) unless .nil? return end yield rescue Exceptions::AssertionException => e ('info', e.) end |
#output(outputs) ⇒ void
This method returns an undefined value.
Set output values. Once set, these values will be available to any subsequent tests.
47 48 49 50 51 52 |
# File 'lib/inferno/entities/test.rb', line 47 def output(outputs) outputs.each do |key, value| send("#{key}=", value) outputs_to_persist[key] = value end end |
#warning(message = nil) ⇒ void
This method returns an undefined value.
Add a warning message to the results of a test. If passed a block, a failed assertion will become a warning message and test execution will continue.
99 100 101 102 103 104 105 106 107 108 |
# File 'lib/inferno/entities/test.rb', line 99 def warning( = nil) unless block_given? ('warning', ) unless .nil? return end yield rescue Exceptions::AssertionException => e ('warning', e.) end |