SPECS

Path: SPECS
Last Update: Fri Jul 31 01:58:42 -0400 2009

TestUnit

  • still works on its own
  • supports should good enough
  • works inside test/spec

CustomTestUnitSubclass

  • truth

test/spec

  • has should.satisfy
  • has should.equal
  • has should.raise
  • has should.raise with a block
  • should.raise should return the exception
  • has should.be.an.instance_of
  • has should.be.nil
  • has should.include
  • has should.be.a.kind_of
  • has should.match
  • has should.be
  • has should.not.raise
  • has should.not.satisfy
  • has should.not.be
  • has should.not.equal
  • has should.not.match
  • has should.throw
  • has should.not.throw
  • has should.respond_to
  • has should.be_close
  • multiple negation works
  • has should.<predicate>
  • has should.<predicate>?
  • has should <operator> (>, >=, <, <=, ===)
  • is robust against careless users
  • should detect warnings
  • should message/blame faults
  • should allow for custom shoulds
  • disabled specification (disabled)
  • empty specification (disabled)

more disabled

  • this is intentional (disabled)
  • an empty specification (empty)

even more disabled

  • we can cut out (disabled)
  • entire contexts, now (disabled)

setup/teardown

  • run in the right order

before all

  • runs parent before all

nested teardown

nested

  • should call local teardown then parent teardown

before all

nested

  • should call parent then local

after all

after nested

  • should call local then parent

contexts

  • are defined in class scope
  • can include modules

contexts with subclasses

  • use the supplied class as the superclass
  • truth

xcontexts with subclasses

  • work great! (disabled)
  • truth

Shared contexts

  • can be included several times
  • can include other shared contexts
  • can be included several times
  • can include other shared contexts
  • can be nested
  • can access data
  • should raise when the context cannot be found

SpecDox

  • can unmangle Test::Unit names correctly
  • can unmangle Test::Spec names correctly
  • has sensible fallbacks

flexmock

  • can not be found. BAIL OUT! (empty)

mocha

  • can not be found. BAIL OUT! (empty)

Outer context

Inner context

  • is nested (empty)
  • has multiple empty specifications (empty)

Second Inner context

  • is indented properly (empty)
  • still runs in order of definition (empty)

Inmost context

  • works too! (empty)
  • whoo! (empty)

A new-style description

  • should run before-clauses
  • should behave like context/specify
  • this is disabled (disabled)
  • should raise on unimplement{ed,able} before/after
  • should work as well with shared descriptions

when nested

  • should work

An disabled description

  • should not be run (disabled)

should.output

  • works for print
  • works for puts
  • works with readline

Context First

  • runs before Second

Context Second

  • runs before Last

Context Last

  • runs last

80 specifications, 8 disabled, 9 empty (602 requirements), 0 failures

[Validate]