Module: Test::Unit::Data::ClassMethods
Relationships & Source Files | |
Namespace Children | |
Classes:
| |
Defined in: | lib/test/unit/data.rb |
Instance Method Summary
-
#data(label, data, options = {})
This method provides Data-Driven-Test functionality.
-
#load_data(file_name)
This method provides Data-Driven-Test functionality.
Instance Method Details
#data(label, data, options = {})
#data(variable, patterns, options = {})
#data(data_set, options = {})
#data(options = {}, &block)
#data(options = {}, &block)
This method provides Data-Driven-Test functionality.
Define test data in the test code.
# File 'lib/test/unit/data.rb', line 129
def data(*arguments, &block) = nil n_arguments = arguments.size case n_arguments when 0 raise ArgumentError, "no block is given" unless block_given? data_set = block when 1 if block_given? data_set = block = arguments[1] else data_set = arguments[0] end when 2 case arguments[0] when String data_set = {arguments[0] => arguments[1]} when Hash data_set = arguments[0] = arguments[1] else variable = arguments[0] patterns = arguments[1] data_set = [variable, patterns] end when 3 case arguments[0] when String data_set = {arguments[0] => arguments[1]} = arguments[2] else variable = arguments[0] patterns = arguments[1] data_set = [variable, patterns] = arguments[2] end else = "wrong number arguments(#{n_arguments} for 0..3)" raise ArgumentError, end ||= {} data_sets = current_attribute(:data)[:value] || DataSets.new data_sets.add(data_set, ) if [:keep] keep_hook = lambda do |attr| attr.merge(value: attr[:value].keep) end = .merge(keep_hook: keep_hook) end attribute(:data, data_sets, ) end
#load_data(file_name)
This method provides Data-Driven-Test functionality.
Load test data from the file. This is shorthand to load test data from file. If you want to load complex file, you can use #data with block.