Module: Snails::HarnessRunner

Defined in:
runtime/snails/harness.rb

Overview

Explicit case runner — spinel has no autorun, so the caller names the cases and the printed summary is the .expected snapshot.

Class Method Summary collapse

Class Method Details

.run(klass, names) ⇒ void

run one class's cases and report them: one ok/FAIL line per case, then a summary.

Parameters:

  • klass (Class) —

    the case class, instantiated fresh per case

  • names (Array[String]) —

    the case method names to run



521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
# File 'runtime/snails/harness.rb', line 521

def self.run(klass, names)
  failed = 0
  names.each do |name|
    instance = klass.new
    begin
      instance.send(name)
      puts "ok #{name}"
    rescue StandardError => e
      failed += 1
      puts "FAIL #{name}: #{e.class}: #{e.message}"
    end
  end
  if failed.zero?
    puts "#{klass.name}: #{names.size} tests passed"
    exit 0
  else
    puts "#{klass.name}: #{failed} of #{names.size} tests failed"
    exit 1
  end
end