standard_assert

Gem Version Build Status Code Climate Test Coverage

standard_assert is a Standard Library-like library for assertions in Ruby.
It is aimed at encouraging us to use assertion methods anywhere; Not only testing but also production.

Installation

Add this line to your application's Gemfile:

gem 'standard_assert'

And then execute:

$ bundle

Usage

Since assertion methods are defined as module functions of Assert, you can use them as instance methods to any classes that mix in the module:

require 'standard_assert'

class Stack
  include ::Assert

  def initialize
    @store = []
  end

  def pop
    assert(!@store.empty?)
    @store.pop
  end

  def push(element)
    @store.push(element)
    self
  end
end

Stack.new.pop #=> AssertionError (Expected false to be truthy.)

Or just call them with the module as a receiver:

class Stack
  def peek
    ::Assert.assert(!@store.empty?)
    @store.last
  end
end

Stack.new.peek #=> AssertionError (Expected false to be truthy.)

Note that Assert provides aseert and assert_* methods same as in Minitest::Assertions except they throw not Minitest::Assertion but AssertionError when an assertion fails.

See also: http://docs.seattlerb.org/minitest/Minitest/Assertions.html

Contributing

You should follow the steps below.

  1. Fork the repository
  2. Create a feature branch: git checkout -b add-new-feature
  3. Commit your changes: git commit -am 'Add new feature'
  4. Push the branch: git push origin add-new-feature
  5. Send us a pull request

License

The gem is available as open source under the terms of the MIT License.