uses AssertionError, not SpecFailure