Module Test::Unit::Data::ClassMethods
In: lib/test/unit/data.rb

Methods

data   load_data  

Classes and Modules

Class Test::Unit::Data::ClassMethods::Loader

Public Instance methods

This method provides Data-Driven-Test functionality.

Define test data in the test code.

@overload data(label, data)

  @param [String] label specify test case name.
  @param data specify test data.

  @example data(label, data)
    data("empty string", [true, ""])
    data("plain string", [false, "hello"])
    def test_empty?(data)
      expected, target = data
      assert_equal(expected, target.empty?)
    end

@overload data(data_set)

  @param [Hash] data_set specify test data as a Hash that
    key is test label and value is test data.

  @example data(data_set)
    data("empty string" => [true, ""],
         "plain string" => [false, "hello"])
    def test_empty?(data)
      expected, target = data
      assert_equal(expected, target.empty?)
    end

@overload data(&block)

  @yieldreturn [Hash] return test data set as a Hash that
    key is test label and value is test data.

  @example data(&block)
    data do
      data_set = {}
      data_set["empty string"] = [true, ""]
      data_set["plain string"] = [false, "hello"]
      data_set
    end
    def test_empty?(data)
      expected, target = data
      assert_equal(expected, target.empty?)
    end

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.

@param [String] file_name full path to test data file.

  File format is automatically detected from filename extension.

@raise [ArgumentError] if file_name is not supported file format. @see Loader#load

@example Load data from CSV file

  load_data("/path/to/test-data.csv")
  def test_empty?(data)
    assert_equal(data["expected"], data["target"].empty?)
  end

[Validate]