Running the test suite¶
python-pptx has a robust test suite, comprising over 600 tests at the time of writing,
both at the acceptance test and unit test levels. pytest
is used for unit
tests, with help from the excellent mock
library. behave
is used for
acceptance tests.
You can run the tests from the source working directory using the following commands:
$ py.test
============================ test session starts ============================
platform darwin -- Python 2.7.5 -- pytest-2.4.2
plugins: cov
collected 301 items
tests/test_oxml.py .........................................
tests/test_presentation.py ...................
tests/test_spec.py ........
tests/test_text.py ..........................
tests/test_util.py ...............
tests/opc/test_packaging.py .....................................................
tests/opc/test_rels.py ..............
tests/parts/test_coreprops.py .
tests/parts/test_image.py ...........
tests/parts/test_part.py ........
tests/parts/test_slides.py ..................
tests/shapes/test_autoshape.py ....................
tests/shapes/test_picture.py .
tests/shapes/test_placeholder.py .
tests/shapes/test_shape.py ...........
tests/shapes/test_shapetree.py ..............
tests/shapes/test_table.py ........................................
======================= 301 passed in 2.00 seconds ======================
$ behave
Feature: Add a text box to a slide
In order to accommodate a requirement for free-form text on a slide
As a presentation developer
I need the ability to place a text box on a slide
Scenario: Add a text box to a slide
Given I have a reference to a blank slide
When I add a text box to the slide's shape collection
And I save the presentation
Then the text box appears in the slide
# ... more output ...
13 features passed, 0 failed, 0 skipped
30 scenarios passed, 0 failed, 0 skipped
120 steps passed, 0 failed, 0 skipped, 0 undefined
Took 0m1.3s