Sha256: ed08ab379a1da3c8b955979c0d8225c34ce3e0c9ec3c9490e29a8f3180ac3272
Contents?: true
Size: 1.05 KB
Versions: 5
Compression:
Stored size: 1.05 KB
Contents
# -*- coding: utf-8 -*- require 'turnip/rspec' module Turnip module RSpec class << self alias_method :original_run, :run def run(feature_file) features = original_run(feature_file) example_groups = ::RSpec.world.example_groups[-features.length..-1] features.zip(example_groups).each do |feature, example_group| update_metadata(feature, example_group) end end # # @param [Turnip::Builder::Feature] feature # @param [RSpec::Core::ExampleGroup] example_group # def update_metadata(feature, example_group) background_steps = feature.backgrounds.map(&:steps).flatten examples = example_group.children feature.scenarios.zip(examples).each do |scenario, parent_example| example = parent_example.examples.first steps = background_steps + scenario.steps tags = (feature.tags + scenario.tags).uniq example.metadata[:turnip_formatter] = { steps: steps, tags: tags } end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems