Dfect is an assertion testing library for Ruby that emphasizes a simple assertion vocabulary, instant debuggability of failures, and flexibility in composing tests.
Resources
-
What’s new? — release notes and project history.
-
Issue tracker — report bugs, request features, or ask for help.
-
Source code — browse online or obtain using Git
-
API reference — documentation for source code.
-
Project home — the official project home page.
1.1 Features
Dfect is exciting because:
-
There are only 5 methods to remember: D F E C T.
-
It lets you debug assertion failures interactively.
-
It keeps a detailed report of assertion failures.
-
It lets you nest tests and execution hooks.
-
Its core consists of a mere 378 lines of code.
1.2 Etymology
Dfect is named after the D F E C T methods it provides.
The name is also play on the word “defect”, whereby the intentional misspelling of “defect” as “dfect” is a defect in itself! ;-)
This wordplay is similar to Mnesia’s play on the word “amnesia”, whereby the intentional omission of the letter “A” indicates forgetfulness—the key characteristic of having amnesia. Clever!
1.3 License
(the ISC license)
Copyright 2009 Suraj N. Kurapati sunaku@gmail.com
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1.4 Credits
Dfect is made possible by contributions from users like you:
- François Beausoleil http://github.com/francois
- Iñaki Baz Castillo http://github.com/ibc