Unit Test Frameworks

Minitest

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.

Rubygem minitest

Total Downloads
48843843
Releases
99
Current Version
5.9.0
Released
2016-05-16 00:00:00 UTC
First Release
2008-10-09 07:00:00 UTC
Depends on following gems
Depending Gems
3913

Github seattlerb/minitest

Watchers
1856
Forks
320
Development activity
Less active
Last commit
2016-04-26 07:29:44 UTC
Top contributors
Contributors
2
Issues

Rubygem rspec

Total Downloads
37845954
Releases
158
Current Version
3.5.0.beta2
Released
2016-03-10 00:00:00 UTC
First Release
2008-07-02 05:00:00 UTC
Depends on following gems
Depending Gems
26531

Github rspec/rspec

Watchers
1546
Forks
146
Development activity
Less active
Last commit
2016-04-02 15:22:57 UTC

test-unit

Test::Unit (test-unit) is unit testing framework for Ruby, based on xUnit principles. These were originally designed by Kent Beck, creator of extreme programming software development methodology, for Smalltalk's SUnit. It allows writing tests, checking results and automated testing in Ruby.

Rubygem test-unit

Total Downloads
5067394
Releases
54
Current Version
3.1.9
Released
2016-05-20 00:00:00 UTC
First Release
2008-03-20 07:00:00 UTC
Depends on following gems
Depending Gems
989

Github test-unit/test-unit

Watchers
123
Forks
42
Development activity
Less active
Last commit
2016-03-27 03:32:49 UTC
Contributors
26
Issues

Bacon

Bacon is a small RSpec clone weighing less than 350 LoC but nevertheless providing all essential features. http://github.com/chneukirchen/bacon

Rubygem bacon

Total Downloads
159056
Releases
4
Current Version
1.2.0
Released
2012-12-21 00:00:00 UTC
First Release
2008-01-06 23:00:00 UTC
Depends on following gems
Depending Gems
294

Github chneukirchen/bacon

Watchers
385
Forks
56
Development activity
Inactive
Last commit
2015-08-11 12:26:22 UTC

Wrong

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.

Rubygem wrong

Total Downloads
107754
Releases
24
Current Version
0.7.1
Released
2013-11-11 00:00:00 UTC
First Release
2010-07-06 07:00:00 UTC

Github sconover/wrong

Watchers
409
Forks
25
Development activity
Inactive
Last commit
2015-10-22 17:58:40 UTC
Contributors
7
Issues

Riot

An extremely fast, expressive, and context-driven unit-testing framework. A replacement for all other testing frameworks. Protest the slow test.

Rubygem riot

Total Downloads
90953
Releases
44
Current Version
0.12.7
Released
2013-10-18 00:00:00 UTC
First Release
2009-10-03 08:00:00 UTC

Github thumblemonks/riot

Watchers
324
Forks
25
Development activity
Inactive
Last commit
2013-10-30 22:08:19 UTC

Shindo

Work with your tests, not against them.

Rubygem shindo

Total Downloads
142638
Releases
39
Current Version
0.3.8
Released
2013-10-10 00:00:00 UTC
First Release
2009-10-07 10:00:00 UTC

Github geemus/shindo

Watchers
70
Forks
11
Development activity
Inactive
Last commit
2013-11-06 18:32:12 UTC
Top contributors
Contributors
6
Issues

testrocket

A super lightweight lamdba-based testing library for Ruby

Rubygem testrocket

Total Downloads
2548
Releases
2
Current Version
0.0.2
Released
2014-05-31 00:00:00 UTC
First Release
2011-08-09 23:00:00 UTC
Depends on following gems
Depending Gems
2

Github peterc/testrocket

Watchers
163
Forks
1
Development activity
Inactive
Last commit
2015-02-02 13:55:42 UTC
Top contributors
Contributors
4
Issues

rubydoctest

Ruby version of Python's doctest tool, but a bit different.

Rubygem rubydoctest

Total Downloads
10929
Releases
5
Current Version
1.1.4
Released
2008-12-06 00:00:00 UTC
First Release
2008-05-25 14:00:00 UTC
Depends on following gems
Depending Gems
5

Github tablatom/rubydoctest

Watchers
85
Forks
11
Development activity
Inactive
Last commit
2014-12-31 07:09:37 UTC

Rubygem testy

Total Downloads
2102
Releases
1
Current Version
0.4.2
Released
2009-03-28 06:00:00 UTC
First Release
2009-03-28 06:00:00 UTC
Depends on following gems
Depending Gems
1

Github ahoward/testy

Watchers
97
Forks
4
Development activity
Inactive
Last commit
2009-04-30 15:53:12 UTC
Top contributors
Contributors
2
Issues

Micronaut

An excellent replacement for the wheel...

Rubygem micronaut

Total Downloads
5575
Releases
2
Current Version
0.3.0
Released
2009-08-10 07:00:00 UTC
First Release
2009-05-23 04:00:00 UTC

Github spicycode/micronaut

Watchers
78
Forks
3
Development activity
Inactive
Last commit
2012-06-12 18:41:27 UTC
Top contributors
Contributors
3
Issues

assert

Assertion style testing framework.

Rubygem assert

Total Downloads
77434
Releases
47
Current Version
2.16.0
Released
2016-05-13 00:00:00 UTC
First Release
2011-08-14 00:00:00 UTC
Depends on following gems
Depending Gems
55

Github redding/assert

Watchers
8
Forks
1
Development activity
Active
Last commit
2016-04-29 22:09:35 UTC
First commit
Top contributors
Contributors
3
Issues

kintama

It's for writing tests.

Rubygem kintama

Total Downloads
14958
Releases
11
Current Version
0.1.13
Released
2015-03-18 00:00:00 UTC
First Release
2011-01-05 00:00:00 UTC
Depends on following gems
Depending Gems
4

Github lazyatom/kintama

Watchers
33
Forks
1
Development activity
Inactive
Last commit
2015-03-18 11:20:42 UTC
Top contributors
Contributors
2
Issues

dtf

DTF is a modular testing framework skeleton. This is the control gem containing the db schema(s) and command-line script.

Rubygem dtf

Total Downloads
33152
Releases
20
Current Version
0.4.0
Released
2012-10-19 00:00:00 UTC
First Release
2012-05-08 00:00:00 UTC

Github dtf-gems/DTF

Watchers
14
Forks
1
Development activity
Inactive
Last commit
2015-01-26 04:09:34 UTC
Top contributors
Contributors
4
Issues

test_inline

test_inline allows you to place your automated testing right next to the code being tested much like RDoc allows you to put your documentation right next to the code being documented. See the README for the rational for why you would want to do this.

Rubygem test_inline

Total Downloads
31815
Releases
22
Current Version
0.4.4
Released
2013-07-19 00:00:00 UTC
First Release
2010-06-26 04:00:00 UTC
Depends on following gems
Depending Gems
1

Github eric1234/test_inline

Watchers
6
Forks
1
Development activity
Inactive
Last commit
2013-07-19 14:26:08 UTC
Top contributors
Contributors
1
Issues

Lemon

Lemon is a unit testing framework that tightly correlates class to test case and method to test unit.

Rubygem lemon

Total Downloads
24712
Releases
11
Current Version
0.9.1
Released
2012-03-18 00:00:00 UTC
First Release
2009-12-31 05:00:00 UTC
Depends on following gems
Depending Gems
9

Github rubyworks/lemon

Watchers
6
Forks
0
Development activity
Inactive
Last commit
2012-11-30 14:27:02 UTC
Top contributors
Contributors
1
Issues

Detest

Detest is an assertion testing library for [Ruby] that features a simple assertion vocabulary, instant debuggability of failures, and flexibility in composing tests.

Rubygem detest

Total Downloads
9052
Releases
4
Current Version
3.1.3
Released
2011-04-22 00:00:00 UTC
First Release
2010-07-25 07:00:00 UTC
Depends on following gems
Depending Gems
0

Github sunaku/detest

Watchers
4
Forks
1
Development activity
Inactive
Last commit
2011-04-22 21:03:22 UTC
Top contributors
Contributors
1
Issues
×

In order to continue, you must be signed in using your Github account.

If you're signing in using this account for the first time Github will ask for your permission to give access to your public user data to the Ruby Toolbox.

Although the Github Authorization page does not mention it, the request includes read-only access to your verified email address (user:email OAuth scope). This is neccessary so there's a way to notify you about comments, information about your accepted project edits and the like. You can review your notification settings on your account page once you're signed in.