Console::Test

console 0.2.0 · app/console/testing.rb · 184 lines · view source

Also defined here: Console::Test::ClassLevel

Console::Test -- a tiny in-engine test harness.

Tests run inside the real DragonRuby runtime, so they exercise the actual renderer, the actual output collections and the actual mruby build rather than a stand-in. Failures are collected, printed, and summarised in a single machine-readable line the runner script can grep.

class MySuite
  include Console::Test
  def setup
    @thing = []
  end
  test 'does the thing' do
    assert_equal 2, @thing.size
  end
end

Each test block is evaluated against a fresh instance of the suite, so setup runs first and instance state does not leak between tests.

def test(name, &block)

Declare a test. Runs against a fresh instance of this suite.

assertions

def assert(condition, message = nil)
line 48
def refute(condition, message = nil)
line 52
def assert_equal(expected, actual, message = nil)
line 56
def assert_almost_equal(expected, actual, tolerance = 0.001, message = nil)
line 62
def refute_equal(expected, actual, message = nil)
line 68
def assert_nil(actual, message = nil)
line 74
def assert_not_nil(actual, message = nil)
line 79
def assert_includes(collection, member, message = nil)
line 83
def refute_includes(collection, member, message = nil)
line 89
def assert_between(value, low, high, message = nil)
line 95
def assert_raises(message = nil)
line 100