pass options to cucumber formatter

Viewed 32

When running cucumber to perform the test scenario's for a project, I use the pretty formatter cucumber --format pretty.

This gives me output like

@search
Feature: search

  Background:                  # features/zoeken.feature:4
    Given I log in as testuser # features/step_definitions/elvis_steps.rb:1

I would like the formatter to skip the mention of the sourceline. In the code of the pretty-formatter, I located the place where it is output and is says

  def print_step_data(test_step, result)
    base_indent = options[:expand] && in_scenario_outline ? 8 : 4
    step_keyword = test_step_keyword(test_step)
    indent = options[:source] ? @source_indent - step_keyword.length - test_step.text.length - base_indent : nil
    print_comments(test_step.location.lines.max, base_indent)
    name_to_report = format_step(step_keyword, @step_matches.fetch(test_step.to_s) { NoStepMatch.new(test_step, test_step.text) }, result.to_sym, indent)
    @io.puts(indent(name_to_report, base_indent))
    print_multiline_argument(test_step, result, base_indent + 2) unless options[:no_multiline]
    @io.flush
  end

So I can get the output I want bij setting option :source to false. Which indeed works. My question is: how can I pass this option to the formatter without changing the code of the formatter? Is there a command line trick for this, or can I specify it in my own code?

Result of adding options[:source] = false to pretty.rb:

@search
Feature: search

  Background:                
    Given I log in as testuser

.... which is what I want.

0 Answers
Related