Project

pry-test

0.01
No commit activity in last 3 years
No release in over 3 years
A small test framework that supports debugging test failures and errors when they happen.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Lines of Code Maintainability Build Status Coverage Status Downloads

Formerly known as MicroTest.

PryTest

aka pry-test

A small test framework that supports debugging test failures & errors when they happen.

Values

  • Simplicity - writing tests should be easy & devoid of friction
  • Intelligibility - tests should be readable & unambiguous
  • Immediacy - test failures should be dealt with quickly when they occur

Benefits

  • A simple test API
  • An awesome fail pry pass workflow
  • Optional async test runs

An important note on debugging test failures with Pry.

The API

Everything you need to know about PryTest's API is outlined here.

PryTest::Test Superclass for all test classes.
test(desc, &block) Defines a test method.
  • desc - a description of what is being tested
  • &block - a block of code which defines the test
assert(value) Verifies the truthiness of a value.
  • value - the value to assert
refute(value) Verifies the falsiness of a value.
  • value - the value to refute
before(&block) A callback that runs before each test method.
  • &block - the block of code to execute
after(&block) A callback that runs after each test method.
  • &block - the block of code to execute

A Complete Example

The entire public interface is used in this basic example.

class MathTest < PryTest::Test

  before do
    # runs before each test method
  end

  after do
    # runs after each test method
  end

  test "basic addition" do
    assert 2 + 2 == 4
  end

  test "all is right in the world" do
    refute 0 > 1
  end
end

Get Started

PryTest ships with a demo so you can try it out easily.

gem install pry-test
pry-test --help
pry-test --demo

Try some advanced features.

pry-test --demo --async
pry-test --demo --disable-pry

Testing Your Own Projects

PryTest assumes your test directory is located at PROJECT_ROOT/test; however, this isn't a requirement. You can indicate your test directory location.

pry-test /path/to/test/dir

If you have multiple versions of PryTest installed, it's safest to run your tests with bundle exec.

bundle exec pry-test /path/to/test/dir

PryTest is small & unobtrusive. It plays nice with other test frameworks, & can be introduced to existing projects incrementally.

Advanced

See the wiki to troubleshoot or get help with more advanced topics.