Module: RBehave::Runner

Defined in:
lib/rbehave.rb,
lib/rbehave/runner/story_runner.rb,
lib/rbehave/runner/scenario_runner.rb,
lib/rbehave/runner/scenario_collector.rb

Defined Under Namespace

Classes: ScenarioCollector, ScenarioRunner, StoryRunner

Class Method Summary collapse

Class Method Details

.dry_run=(value) ⇒ Object



67
68
69
# File 'lib/rbehave.rb', line 67

def dry_run=(value)
  @dry_run = value
end

.dry_run?Boolean

Returns:

  • (Boolean)


63
64
65
# File 'lib/rbehave.rb', line 63

def dry_run?
  @dry_run ||= false
end

.register_instanceObject



34
35
36
37
38
39
40
41
42
43
44
# File 'lib/rbehave.rb', line 34

def register_instance
  return if registered?
  unless registered?
    registered = true
    Exception.add_backtrace_filter(/lib\/rbehave/)
    Exception.add_backtrace_filter(/gems\/rspec/)
    at_exit do
      exit RBehave::Runner.run unless $! || RBehave::Runner.run?
    end
  end
end

.registered?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/rbehave.rb', line 46

def registered?
  @registered ||= false
end

.runObject



58
59
60
61
# File 'lib/rbehave.rb', line 58

def run
  story_runner.run_stories
  self.run = true
end

.run=(value) ⇒ Object



54
55
56
# File 'lib/rbehave.rb', line 54

def run=(value)
  @run = value
end

.run?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/rbehave.rb', line 50

def run?
  @run ||= false
end

.story_runnerObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/rbehave.rb', line 14

def story_runner
  unless @story_runner
    scenario_runner = ScenarioRunner.new
    world_creator = World
    @story_runner = StoryRunner.new(scenario_runner, world_creator)
    if ARGV.empty?
      reporter = RBehave::Reporter::PlainTextReporter.new($stdout)
      scenario_runner.add_listener(reporter)
      @story_runner.add_listener(reporter)
    else
      documenter = RBehave::Documenter::PlainTextDocumenter.new($stdout)
      scenario_runner.add_listener(documenter)
      @story_runner.add_listener(documenter)
      world_creator.add_listener(documenter)
      self.dry_run = true
    end
  end
  @story_runner
end