Skip to content
This repository was archived by the owner on Oct 16, 2019. It is now read-only.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 05d2139

Browse files
Mike Salviabaev
Mike Salvia
authored andcommittedMar 20, 2018
fix for duplicate steps (via #65)
1 parent 92180e6 commit 05d2139

File tree

5 files changed

+22
-15
lines changed

5 files changed

+22
-15
lines changed
 

‎Rakefile

+2
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
require "bundler/gem_tasks"
2+
3+
task :default => :build

‎allure-cucumber.gemspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
1717
spec.require_paths = ["lib"]
1818

1919
spec.add_dependency 'cucumber' , '>= 2.0.0'
20-
spec.add_dependency 'allure-ruby-adaptor-api'
20+
spec.add_dependency 'allure-ruby-adaptor-api', '>= 0.7.1'
2121

2222
spec.add_development_dependency "bundler", "~> 1.5"
2323
spec.add_development_dependency "rake"

‎lib/allure-cucumber/feature_tracker.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module AllureCucumber
22

33
class FeatureTracker
44

5-
attr_accessor :feature_name, :scenario_name, :step_name
5+
attr_accessor :feature_name, :scenario_name, :step_name, :step_id
66
@@tracker = nil
77

88
def self.create

‎lib/allure-cucumber/formatter.rb

+15-10
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,10 @@ def after_table_row(table_row)
109109
def before_test_step(test_step)
110110
if !TEST_HOOK_NAMES_TO_IGNORE.include?(test_step.name)
111111
if @tracker.scenario_name
112-
@tracker.step_name = test_step.name
112+
step_location = test_step.location.lines.first.to_s
113+
step_name = test_step.name
114+
@tracker.step_id = "#{@tracker.feature_name}-#{@tracker.scenario_name}-#{step_name}-#{step_location}"
115+
@tracker.step_name = step_name
113116
start_step
114117
else
115118
@deferred_before_test_steps << {:step => test_step, :timestamp => Time.now}
@@ -216,7 +219,10 @@ def start_test
216219

217220
def post_deferred_steps
218221
@deferred_before_test_steps.size.times do |index|
219-
@tracker.step_name = @deferred_before_test_steps[index][:step].name
222+
step_location = @deferred_before_test_steps[index][:step].location.lines.first.to_s
223+
step_name = @deferred_before_test_steps[index][:step].name
224+
@tracker.step_id = "#{@tracker.feature_name}-#{@tracker.scenario_name}-#{step_name}-#{step_location}"
225+
@tracker.step_name = step_name
220226
start_step
221227
multiline_arg = @deferred_before_test_steps[index][:multiline_arg]
222228
attach_multiline_arg_to_file(multiline_arg) if multiline_arg
@@ -240,15 +246,14 @@ def stop_test(result)
240246
@before_hook_exception = nil
241247
end
242248
end
243-
244-
def start_step(step_name = @tracker.step_name)
245-
AllureRubyAdaptorApi::Builder.start_step(@tracker.feature_name, @tracker.scenario_name, step_name)
249+
250+
def start_step(step_name = @tracker.step_name, step_id = @tracker.step_id)
251+
AllureRubyAdaptorApi::Builder.start_step(@tracker.feature_name, @tracker.scenario_name, step_name, step_id)
246252
end
247253

248-
def stop_step(status, step_name = @tracker.step_name)
249-
AllureRubyAdaptorApi::Builder.stop_step(@tracker.feature_name, @tracker.scenario_name, step_name, status)
254+
def stop_step(status, step_name = @tracker.step_name, step_id = @tracker.step_id)
255+
AllureRubyAdaptorApi::Builder.stop_step(@tracker.feature_name, @tracker.scenario_name, step_name, step_id, status)
250256
end
251-
252-
end
253-
end
254257

258+
end
259+
end

‎lib/allure-cucumber/version.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
module AllureCucumber
2-
module Version
3-
STRING = '0.6.0'
1+
module AllureCucumber
2+
module Version
3+
STRING = '0.6.1'
44
end
55
end

0 commit comments

Comments
 (0)
This repository has been archived.