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
failprypassworkflow - 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.
|
assert(value) |
Verifies the truthiness of a value.
|
refute(value) |
Verifies the falsiness of a value.
|
before(&block) |
A callback that runs before each test method.
|
after(&block) |
A callback that runs after each test method.
|
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
endGet Started
PryTest ships with a demo so you can try it out easily.
gem install pry-test
pry-test --help
pry-test --demoTry some advanced features.
pry-test --demo --async
pry-test --demo --disable-pryTesting 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/dirIf you have multiple versions of PryTest installed,
it's safest to run your tests with bundle exec.
bundle exec pry-test /path/to/test/dirPryTest 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.