This release is a pre-release and may not be stable for production use.
Overview
Checkit is a tool for validating executable specifications created with BDD style grammar. It aims to:
Enable you to define BDD style specifications in python code.
Provide a simple tool for validating your specifications.
To this end, checkit uses nose to enable you to create specs with keywords like “Describe”, “it” and “should”. It also provides a “checkit” command that seemlessly integrates with nose (specifically the nosetests command) to validate your software against the specs you created.
Features
encourages “specification by example” by promoting the use of appropriate grammar
uses customizable options to make nose discover and run your specs
Requirements
The requirements for using checkit are auto-installed if you use pip or easy_install.
Installation
The easiest way to install checkit is with pip install checkit or with easy_install checkit. Alternatively, you may download the source package from PyPI, extract it and install it using python setup.py install.
What you get
When you install the package, the only tangible thing you get is the “checkit” command. It uses nose to discover and execute specifications using flexible matching rules so that you are not limited to using distracting unittest (test focused) constructs like “def test…” or name your files “test…py”.
The other non-tangible benefit you get is that you no longer have to subject yourself to the unnecessary cruft needed for unittest test cases. You can now create a spec like this:
> cat coolthingy_specs.py
class DescribeCoolThingy(object):
def it_is_cool(self):
pass
def it_should_not_heat_up(self):
pass
Or even:
> cat awesomedude_specs.py
class AwesomeDudeSpecs():
def should_smile_often(self):
pass
Finally, when you want to validate your software against the specs, simply run the command “checkit” in your project directory like so:
> checkit ... ---------------------------------------------------------------------- Ran 3 tests in 0.006s OK
Since checkit is merely a wrapper around nose, it accepts all the parameters that nose tipically takes. For more information, run:
> checkit --help
Feedback
I welcome any questions or feedback about bugs and suggestions on how to improve checkit. Let me know what you think about checkit. I am on twitter @RudyLattae . I appreciate constructive criticsms or high fives :)
Do you have suggestions for improvement? Then please create an issue with details of what you would like to see. I’ll take a look at it and work with you to either kill the idea or implement it.
Changelog
0.3.2b (Oct 20, 2011)
Add support for “given” to provide context for extra narrow tech specs.
0.3.1b (Oct 17, 2011)
Remove support for “examples” and “features” - focus on specs.
0.2.3b (Oct 17, 2011)
Refactor options passed to nose in prep to make them configurable
Add feature definition example
Add tox config to test against py2.5-2.7
0.1.0a (Jan 24, 2011)
First public release
“checkit” command to validate specs
Metadata
Release files for checkit 0.3.2b
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| checkit-0.3.2b.zip | 10.0 kB | Without provenance | Details for checkit-0.3.2b.zip |
Release files / checkit-0.3.2b.zip
| Download URL | checkit-0.3.2b.zip |
|---|---|
| Size | 10.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93317d8645c79b8ce07863456e9a221ca455527f0c8353d19d51a5a9470f1518
|
|
BLAKE2b-256 checksum How to use checksums |
8ce2c04cdcc3c04d297b99d8c0e3454f5a32894f942f6a27a8c6f73fd131c8b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for checkit 0.3.2b
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.