Skip to main content

The pytest plugin for your copier templates 📒

Project description

License: MIT conventional commit ruff badge prettier badge pre-commit PyPI version build Test Coverage Documentation Status Conda

Overview

pytest-copie is a pytest plugin that comes with a copie fixture which is a wrapper on top the copier API for generating projects. It helps you verify that your template is working as expected and takes care of cleaning up after running the tests. :ledger:

It is an adaptation of the pytest-cookies plugin for copier templates.

It’s here to help templates designers to check that everything works as expected on the generated files including (but not limited to):

  • linting operations

  • testing operations

  • packaging operations

  • documentation operations

Installation

pytest-copie is available on PyPI and can be installed with pip:

pip install pytest-copie

Usage

The copie fixture will allow you to copy a template and run tests against it. It will also clean up the generated project after the tests have been run.

def test_template(copie):
    res = copie.copy(extra_answers={"repo_name": "helloworld"})

    assert res.exit_code == 0
    assert res.exception is None
    assert result.project_dir.is_dir()

Context and template location can be fully customized, see our documentation for more details.

Credits

This package was created with Copier and the @12rambau/pypackage 0.1.16 project template.

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

pytest_copie-0.2.2.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

pytest_copie-0.2.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file pytest_copie-0.2.2.tar.gz.

File metadata

  • Download URL: pytest_copie-0.2.2.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for pytest_copie-0.2.2.tar.gz
Algorithm Hash digest
SHA256 2614cc0374f79890ea5b52f50f5c8fc3b896ac0c9aef5a3484809f67d5e478fd
MD5 06f022b1b1bf97a35b6725834c881bf0
BLAKE2b-256 19771ce7c8311e9ea6e4017f52aa74d810ee82c704593aeaaf11e70f12c4f411

See more details on using hashes here.

File details

Details for the file pytest_copie-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: pytest_copie-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for pytest_copie-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0ac66489a731bc09e7725ff59b50ad88b61d454959203ebd222f749c7273753b
MD5 b0963370c4186e8b18a65b3a589d1dab
BLAKE2b-256 a5b55c1a00715955be984df6bb9a2b0fa0d0e081d750ee36dd9be5ef1e3bdb75

See more details on using hashes here.

Supported by

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