Skip to main content

Integration of zope.testrunner-style test layers into py.test framework

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

The gocept.pytestlayer distribution

Integration of zope.testrunner-style test layers into the py.test framework

This package is compatible with Python versions 2.6 and 2.7. (To run its tests successfully you should use at least Python 2.7.4 because of a bug in earlier Python 2.7 versions.)

Quick start

  • Make sure your test files follow the conventions of py.test’s test discovery

    In particular, a file named tests.py will not be recognised.

  • Add a buildout section to create the py.test runner:

    [buildout]
    parts += pytest
    
    [pytest]
    recipe = zc.recipe.egg
    eggs = gocept.pytestlayer
           pytest
           <YOUR PACKAGE HERE>

gocept.pytestlayer registers itself as a py.test plugin. This way, nothing more is needed to run an existing Zope or Plone test suite.

Not supported use cases

  • Inheriting from a base class while changing the layer. See issue #5

  • Mixing classes inheriting unittest.TestCase and a test_suite() function (e. g. to create a DocTestSuite or a DocFileSuite) in a single module (aka file).

    • This is a limitation of the py.test test discovery which ignores the doctests in this case.

    • Solution: Put the classes and test_suite() into different modules.

  • A doctest.DocFileSuite which does not have a layer is silently skipped. Use the built-in doctest abilities of py.test to run those tests.

Developing gocept.pytestlayer

Author:

gocept <mail@gocept.com>, Godefroid Chapelle <gotcha@bubblenet.be>

Online documentation:

http://pythonhosted.org/gocept.pytestlayer/

PyPI page:

http://pypi.python.org/pypi/gocept.pytestlayer/

Issues:

report by e-mail

Source code:

https://bitbucket.org/gocept/gocept.pytestlayer/

Current change log:

https://bitbucket.org/gocept/gocept.pytestlayer/raw-file/tip/CHANGES.txt

Change log for gocept.pytestlayer

3.0 (2016-04-14)

  • Claim compatibility with py.test 2.9.x.

  • Drop Python 2.6 support.

2.1 (2014-10-22)

  • Update handling of keywords and doctest testnames for py.test-2.5. [wosc]

  • Re-introduce gocept.pytestlayer.fixture.create() method, to allow giving created fixtures a non-random name, so other fixtures can depend on them. [tlotze, wosc]

  • Generate session-scoped fixtures from layers in addition to class-scoped ones, if a session-scoped one is required somewhere, the class-scoped ones are simply ignored. [tlotze, wosc]

2.0 (2013-09-19)

  • Remove need to explicitely create fixtures. [gotcha]

  • Add plone.testing.layered test suites support. [gotcha]

  • Made tests a bit more robust. [icemac]

1.0 (2013-08-28)

  • Initial release. [tlotze, icemac, gotcha]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gocept.pytestlayer-3.0.tar.gz (21.3 kB view details)

Uploaded Source

File details

Details for the file gocept.pytestlayer-3.0.tar.gz.

File metadata

File hashes

Hashes for gocept.pytestlayer-3.0.tar.gz
Algorithm Hash digest
SHA256 43b03c19473a357f9a59e62f8eed5fc103e41b4f62891d57806dee2d958b0177
MD5 78d909acf0acd6732327776ce32c1338
BLAKE2b-256 bbe435ee5767f4629e40ea729c7c6a6606adf7a5a8590ccba3e1a2752b21ac81

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page