Class: Neospec

Inherits:
Object
  • Object
show all
Defined in:
lib/neospec.rb,
lib/neospec/spec.rb,
lib/neospec/color.rb,
lib/neospec/suite.rb,
lib/neospec/results.rb,
lib/neospec/version.rb,
lib/neospec/expector.rb,
lib/neospec/spec/result.rb,
lib/neospec/logger/basic.rb,
lib/neospec/report/basic.rb,
lib/neospec/runner/basic.rb,
lib/neospec/logger/symbols.rb,
lib/neospec/spec/result/failure.rb

Defined Under Namespace

Modules: Color, Logger, Report, Runner Classes: Expector, Results, Spec, Suite

Constant Summary collapse

VERSION =
"0.0.1"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(suites: [], logger: Neospec::Logger::Basic.new, reporters: [Neospec::Report::Basic]) ⇒ Neospec

Returns a new instance of Neospec.



17
18
19
20
21
22
23
24
25
# File 'lib/neospec.rb', line 17

def initialize(
  suites: [],
  logger: Neospec::Logger::Basic.new,
  reporters: [Neospec::Report::Basic]
)
  @suites = suites
  @logger = logger
  @reporters = reporters
end

Instance Attribute Details

#loggerObject

Returns the value of attribute logger.



15
16
17
# File 'lib/neospec.rb', line 15

def logger
  @logger
end

#reportersObject

Returns the value of attribute reporters.



15
16
17
# File 'lib/neospec.rb', line 15

def reporters
  @reporters
end

#suitesObject

Returns the value of attribute suites.



15
16
17
# File 'lib/neospec.rb', line 15

def suites
  @suites
end

Instance Method Details

#run!Object



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/neospec.rb', line 27

def run!
  @suites.each { |suite|
    suite.run(logger: logger)
  }

  results = Neospec::Results.new(suites: @suites)

  reporters.each { |reporter| reporter.call(results) }

  exit 1 unless results.successful?
end