Running tests¶
Wand has unit tests and regression tests. It can be run using
setup.py
script:
$ python setup.py test
It uses pytest as its testing library. The above command will automatically install pytest as well if it’s not installed yet.
Or you can manually install pytest and then use py.test command. It provides more options:
$ pip install pytest
$ py.test
Skipping tests¶
There are some time-consuming tests. You can skip these tests using
--skip-slow
option:
$ py.test --skip-slow
Be default, tests include regression testing for the PDF format. Test cases
will fail if the system does not include Ghostscript binaries. You can skip
PDF dependent tests with --skip-pdf
option:
$ py.test --skip-pdf
You can run only tests you want using -k
option.
$ py.test -k image
Using tox¶
Wand should be compatible with various Python implementations including CPython 2.6, 2.7, PyPy. tox is a testing software that helps Python packages to test on various Python implementations at a time.
It can be installed using pip:
$ pip install tox
If you type just tox at Wand directory it will be tested on multiple Python interpreters:
$ tox
GLOB sdist-make: /Users/emcconville/Desktop/wand/setup.py
py26 create: /Users/emcconville/Desktop/wand/.tox/py26
py26 installdeps: pytest
py26 sdist-inst: /Users/emcconville/Desktop/wand/.tox/dist/Wand-0.2.2.zip
py26 runtests: commands[0]
...
You can use a double --
to pass options to pytest:
$ tox -- -k sequence
Continuous Integration¶
Travis CI automatically builds and tests every commit and pull request. The above banner image shows the current status of Wand build. You can see the detail of the current status from the following URL:
Code Coverage¶
Coveralls support tracking Wand’s test coverage. The above banner image shows the current status of Wand coverage. You can see the details of the current status from the following URL: