Class: StepSequencer::Tests

Inherits:
Object
  • Object
show all
Defined in:
lib/step_sequencer/tests.rb

Overview

A custom test runner. The tests themselves are in test_cases.rb Usage: StepSequencer::Tests.run The private method run_test_collection can also be used; it’s more modular.

Defined Under Namespace

Modules: TestCaseHelpers Classes: TestCases

Class Method Summary collapse

Class Method Details

.runObject

Runs all the test cases, speaking the method name and playing the result.

Returns the results from the tests, for manual inspection from Pry



13
14
15
16
17
18
19
20
21
22
# File 'lib/step_sequencer/tests.rb', line 13

def self.run
  cleanup
  run_test_collection(builder_tests) do |fn_name, test_case|
    result = run_test_case(builder_tests, fn_name, test_case)
    result.tap &method(:play_sounds)
  end
  run_test_collection(player_tests) do |fn_name, test_case|
    run_test_case(player_tests, fn_name, test_case)
  end
end

.run_test_case(test_class, fn_name, test_case) ⇒ Object

shared ‘around’ hook for tests



25
26
27
28
29
30
# File 'lib/step_sequencer/tests.rb', line 25

def self.run_test_case(test_class, fn_name, test_case)
  speak_fn_name fn_name
  puts fn_name
  test_class.method(fn_name).source.display
  test_case.call
end