pytest
A goody-bag of nifty plugins forOS | Build | Coverage |
---|---|---|
Plugin | Description | Supported OS |
---|---|---|
pytest-server-fixtures | Extensible server-running framework with a suite of well-known databases and webservices included | |
pytest-shutil | Unix shell and environment management tools | |
pytest-profiling | Profiling plugin with tabular heat graph output and gprof support for C-Extensions | |
pytest-devpi-server | DevPI server fixture | |
pytest-pyramid-server | Pyramid server fixture | |
pytest-webdriver | Selenium webdriver fixture | |
pytest-virtualenv | Virtualenv fixture | |
pytest-qt-app | PyQT application fixture | |
pytest-listener | TCP Listener/Reciever for testing remote systems | |
pytest-git | Git repository fixture | |
pytest-svn | SVN repository fixture | |
pytest-fixture-config | Configuration tools for Py.test fixtures | |
pytest-verbose-parametrize | Makes py.test's parametrize output a little more verbose |
Developing these plugins
All of these plugins share setup code and configuration so there is a top-level Makefile to automate process of setting them up for test and development.
Pre-requisites
You have python
installed on your path, preferably using a virtualenv
Makefile targets
To install all dependencies and set up all of the packages for development simply run:
make develop
To install all the packages as wheel distributions:
make install
To run all the tests:
make test
To setup test environment in Vagrant (requires virtualbox):
$ vagrant up
$ vagrant ssh
# ..... inside vagrant ....
. venv/bin/activate
make develop
make test
foreach.sh
To run a command in each of the package directories, use the foreach.sh
script. This example will build all the wheel distributions:
./foreach.sh python setup.py bdist_wheel