step mother is no more in cucumber 0.9.0
refactor the cucumber loading
This commit is contained in:
parent
304fbb9c85
commit
3faf03e15b
@ -138,29 +138,35 @@ module Hydra #:nodoc:
|
|||||||
dev_null = StringIO.new
|
dev_null = StringIO.new
|
||||||
hydra_response = StringIO.new
|
hydra_response = StringIO.new
|
||||||
|
|
||||||
unless @step_mother
|
unless @cuke_runtime
|
||||||
require 'cucumber'
|
require 'cucumber'
|
||||||
require 'hydra/cucumber/formatter'
|
require 'hydra/cucumber/formatter'
|
||||||
@step_mother = Cucumber::StepMother.new
|
Cucumber.logger.level = Logger::INFO
|
||||||
|
@cuke_runtime = Cucumber::Runtime.new
|
||||||
@cuke_configuration = Cucumber::Cli::Configuration.new(dev_null, dev_null)
|
@cuke_configuration = Cucumber::Cli::Configuration.new(dev_null, dev_null)
|
||||||
@cuke_configuration.parse!(['features']+files)
|
@cuke_configuration.parse!(['features']+files)
|
||||||
|
|
||||||
@step_mother.options = @cuke_configuration.options
|
support_code = Cucumber::Runtime::SupportCode.new(@cuke_runtime, @cuke_configuration.guess?)
|
||||||
@step_mother.log = @cuke_configuration.log
|
support_code.load_files!(@cuke_configuration.support_to_load + @cuke_configuration.step_defs_to_load)
|
||||||
@step_mother.load_code_files(@cuke_configuration.support_to_load)
|
support_code.fire_hook(:after_configuration, @cuke_configuration)
|
||||||
@step_mother.after_configuration(@cuke_configuration)
|
# i don't like this, but there no access to set the instance of SupportCode in Runtime
|
||||||
@step_mother.load_code_files(@cuke_configuration.step_defs_to_load)
|
@cuke_runtime.instance_variable_set('@support_code',support_code)
|
||||||
end
|
end
|
||||||
cuke_formatter = Cucumber::Formatter::Hydra.new(
|
cuke_formatter = Cucumber::Formatter::Hydra.new(
|
||||||
@step_mother, hydra_response, @cuke_configuration.options
|
@cuke_runtime, hydra_response, @cuke_configuration.options
|
||||||
)
|
)
|
||||||
|
|
||||||
cuke_runner ||= Cucumber::Ast::TreeWalker.new(
|
cuke_runner ||= Cucumber::Ast::TreeWalker.new(
|
||||||
@step_mother, [cuke_formatter], @cuke_configuration.options, dev_null
|
@cuke_runtime, [cuke_formatter], @cuke_configuration
|
||||||
)
|
)
|
||||||
@step_mother.visitor = cuke_runner
|
@cuke_runtime.visitor = cuke_runner
|
||||||
|
|
||||||
features = @step_mother.load_plain_text_features(files)
|
loader = Cucumber::Runtime::FeaturesLoader.new(
|
||||||
|
files,
|
||||||
|
@cuke_configuration.filters,
|
||||||
|
@cuke_configuration.tag_expression
|
||||||
|
)
|
||||||
|
features = loader.features
|
||||||
tag_excess = tag_excess(features, @cuke_configuration.options[:tag_expression].limits)
|
tag_excess = tag_excess(features, @cuke_configuration.options[:tag_expression].limits)
|
||||||
@cuke_configuration.options[:tag_excess] = tag_excess
|
@cuke_configuration.options[:tag_excess] = tag_excess
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user