Module: RSpec::WithParams::DSL

Defined in:
lib/rspec/with_params/dsl.rb

Instance Method Summary collapse

Instance Method Details

#with_params(param_names, *parameter_groups, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/rspec/with_params/dsl.rb', line 4

def with_params(param_names, *parameter_groups, &block)
  parameter_groups.each do |parameter_group|
    params = param_names.zip(parameter_group)
    test_case_description = params
      .map { |name, value| "#{name} -> #{value.inspect}" }
      .join(", ")

    context("given #{test_case_description}") do
      params.each do |name, value|
        let(name) { value }
      end

      module_eval(&block)
    end
  end
end