minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking. "I had a class with Jim Weirich on testing last week and we were allowed to choose our testing frameworks. Kirk Haines and I were paired up and we cracked open the code for a few test frameworks... I MUST say that minitest is *very* readable / understandable compared to the 'other two' options we looked at. Nicely done and thank you for helping us keep our mental sanity." -- Wayne E. Seguin minitest/test is a small and incredibly fast unit testing framework. It provides a rich set of assertions to make your tests clean and readable. minitest/spec is a functionally complete spec engine. It hooks onto minitest/test and seamlessly bridges test assertions over to spec expectations. minitest/benchmark is an awesome way to assert the performance of your algorithms in a repeatable manner. Now you can assert that your newb co-worker doesn't replace your linear algorithm with an exponential one! minitest/mock by Steven Baker, is a beautifully tiny mock (and stub) object framework. minitest/pride shows pride in testing and adds coloring to your test output. I guess it is an example of how to write IO pipes too. :P minitest/test is meant to have a clean implementation for language implementors that need a minimal set of methods to bootstrap a working test suite. For example, there is no magic involved for test-case discovery. "Again, I can't praise enough the idea of a testing/specing framework that I can actually read in full in one sitting!" -- Piotr Szotkowski Comparing to rspec: rspec is a testing DSL. minitest is ruby. -- Adam Hawkins, "Bow Before MiniTest" minitest doesn't reinvent anything that ruby already provides, like: classes, modules, inheritance, methods. This means you only have to learn ruby to use minitest and all of your regular OO practices like extract-method refactorings still apply.
A simple block-driven assertion library for both testing and for production code
Extracting `assigns` and `assert_template` from ActionDispatch.
Standalone PORO assertions and validations
This gem can compare doms and assert certain elements exists in doms using Nokogiri.
Nokogiri based 'have_tag' and 'with_tag' matchers for RSpec. Does not depend on assert_select matcher, provides useful error messages.
ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby. zentest scans your target and unit-test code and writes your missing code based on simple naming rules, enabling XP at a much quicker pace. zentest only works with Ruby and Minitest or Test::Unit. There is enough evidence to show that this is still proving useful to users, so it stays. unit_diff is a command-line filter to diff expected results from actual results and allow you to quickly see exactly what is wrong. Do note that minitest 2.2+ provides an enhanced assert_equal obviating the need for unit_diff autotest is a continous testing facility meant to be used during development. As soon as you save a file, autotest will run the corresponding dependent tests. multiruby runs anything you want on multiple versions of ruby. Great for compatibility checking! Use multiruby_setup to manage your installed versions. *NOTE:* The next major release of zentest will not include autotest (use minitest-autotest instead) and multiruby will use rbenv / ruby-build for version management.
Power Assert shows each value of variables and method calls in the expression. It is useful for testing, providing which value wasn't correct when the condition is not satisfied.
test/spec layers an RSpec-inspired interface on top of Test::Unit, so you can mix TDD and BDD (Behavior-Driven Development). test/spec is a clean-room implementation that maps most kinds of Test::Unit assertions to a `should'-like syntax.
Konacha is a Rails engine that allows you to test your JavaScript with the mocha test framework and chai assertion library. It is similar to Jasmine and Evergreen, but does not attempt to be framework agnostic. By sticking with Rails, Konacha can take full advantage of features such as the asset pipeline and engines.
Wrong provides a general assert method that takes a predicate block. Assertion failure messages are rich in detail. The Wrong idea is to replace all those countless assert_this, assert_that library methods which only exist to give a more useful failure message than "assertion failed". Wrong replaces all of them in one fell swoop, since if you can write it in Ruby, Wrong can make a sensible failure message out of it. Also provided are several helper methods, like rescuing, capturing, and d.
Extends mocha to allow detailed tracking and querying of stub and mock invocations. Allows test spies using the have_received rspec matcher and assert_received for Test::Unit. Extracted from the jferris-mocha fork.
Assertions for command-line dependencies
This project adds some additional assertions to Test::Unit::Assertions, including assert_raise_message (allowing verification of error messages) and assert_greater_than.
Assertion grant extension for Doorkeeper.
A Selenium based webdriver and Capybara extension that runs Google Accessibility Developer Tools auditing assertions on page visits.
Configurations provides a unified approach to do configurations with the flexibility to do everything from arbitrary configurations to type asserted configurations for your gem or any other ruby code.
Power Assert for Minitest.
These matchers and assertions allow you to test what is happening inside the Sunspot Search DSL blocks
gimme attempts to bring to Ruby a test double workflow akin to Mockito in Java. Major distinctions include preserving arrange-act-assert in tests, fast feedback for methods the double's real counterpart may not know how to respond to, no string/symbolic representations of methods, argument captors, and strong opinions (weakly held).
Includes factory-style payload assertions
Test your XML with Test::Unit, MiniTest, RSpec, or Cucumber using handy assertions like #assert_xml_equal or #assert_xml_structure_contain.
Power Assert for RSpec..
rspec_tag_matchers provides an implementation of rspec_on_rails' have_tag() matcher which does not depend on Rails' assert_select(). Using Nokogiri instead, the matcher is available to non-Rails projects, and enjoys the full flexibility of Nokogiri's advanced and blazing fast CSS and XPath selector support. Forked from rspec_hpricot_matchers.
Writing specs for complex validations is annoying. AcceptValuesFor makes iteasy to test your validations with real world values, asserting which valuesshould be accepted by your model and which should not.
An assertion that reflects its block, with all intermediate values
orderly: an rspec assertion for request specs to assert that one piece of content appears on the page before another.
Natural assertions test suite.
test-unit-capybara is a Capybara adapter for test-unit 2. You can get [Capybara](https://rubygems.org/gems/capybara) integrated Test::Unit::TestCase. It also provides useful assertions for Capybara.
Nokogiri based 'have_tag' and 'with_tag' matchers for rspec 2.x.x (renamed to rspec-html-matchers). Does not depend on assert_select matcher, provides useful error messages.
Minitest assertions for Pundit policies.
Assertions, matchers, and helpers to test Trailblazer code.
Assert utility for ruby. It lets you code your assumptions and code invariants, so they are checked automatically. It can be deactivated, so you it doesn't affect to your program performance (for example, in production).
UnificationAssertion defines +assert_unifiable+ assertion to test if given two values are unifiable.
Run clockwork jobs in a test environment and assert jobs are run as expected
A gem to test JSON strings.
Extend minitest by assert_log and enable minitest to test log messages. Supports Logger and Log4r::Logger.
Assertion style testing framework.
Provides power assert support for Pry
FailFast is a collection of assertion methods intended for lightweight contract checking.
A few simple Minitest assertions and expectations
Like Rails' assert_difference, but more compact and readable syntax through hashes, testing ranges and improved error reporting.
gizmo is a simple page model testing framework used and sponsored by 'realestate.com.au'. The aim of the project is to DRY up your testing assertions by abstracting code that defines your page resulting in a consistent, easy to maintain test suit
Assertive Expressive is an assertions library specifically designed for reuse by other test frameworks.
migration_test_helper makes testing your migrations easier by adding helper methods to Test::Unit::TestCase for asserting the current state of the schema and executing migrations against the test database.
Stub results of commands. Assert calls and input using RSpec for your shell scripts
A collection of views for use in the Assert testing framework
Originally written by github user bradleyjames, minitest-proveit forces all tests to prove success (via at least one assertion) rather than rely on the absence of failure.
A collection of assertions for use with minitest and activerecord. Simplifies testing associations and validations by introspecting associations and validations for you models.
MiniTest assertions and expectations for testing Capistrano recipes