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/unit 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/unit 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/unit 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
28383274
Releases
94
Current Version
5.8.0
Released
2015-08-06 00:00:00 UTC
First Release
2008-10-09 07:00:00 UTC
Depends on following gems
Depending Gems
3775

Github seattlerb/minitest

Watchers
1614
Forks
292
Development activity
Less active
Last commit
2015-08-16 00:16:09 UTC
Top contributors
Contributors
2
Issues

Rubygem rspec

Total Downloads
27389095
Releases
154
Current Version
3.3.0
Released
2015-06-12 00:00:00 UTC
First Release
2008-07-02 05:00:00 UTC
Depends on following gems
Depending Gems
26442

Github rspec/rspec

Watchers
1359
Forks
135
Development activity
Less active
Last commit
2015-07-30 03:59:33 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
3415562
Releases
48
Current Version
3.1.3
Released
2015-07-26 00:00:00 UTC
First Release
2008-03-20 07:00:00 UTC

Github test-unit/test-unit

Watchers
101
Forks
35
Development activity
Less active
Last commit
2015-08-21 11:53:31 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
131466
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
298

Github chneukirchen/bacon

Watchers
363
Forks
51
Development activity
Inactive
Last commit
2014-01-09 21:28:51 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
87102
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
353
Forks
25
Development activity
Inactive
Last commit
2014-01-29 21:08:53 UTC
Contributors
6
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
76789
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
319
Forks
24
Development activity
Inactive
Last commit
2013-10-30 22:08:19 UTC

Shindo

Work with your tests, not against them.

Rubygem shindo

Total Downloads
118825
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
69
Forks
9
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
1916
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
157
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
9046
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
8

Github tablatom/rubydoctest

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

Rubygem testy

Total Downloads
1718
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
95
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
4914
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
76
Forks
2
Development activity
Inactive
Last commit
2012-06-12 18:41:27 UTC
Top contributors
Contributors
3
Issues

assert

Test::Unit style testing framework, just better than Test::Unit.

Rubygem assert

Total Downloads
59046
Releases
44
Current Version
2.15.0
Released
2015-08-07 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
2015-08-18 14:47:56 UTC
First commit
Top contributors
Contributors
3
Issues

kintama

It's for writing tests.

Rubygem kintama

Total Downloads
12201
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
31
Forks
1
Development activity
Less active
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
27707
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
12
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
27070
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
21595
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
7864
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
2
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.