Skip to main content

Test code blocks in your READMEs

Project description

meshio

Test code blocks in your READMEs.

PyPi Version Anaconda Cloud PyPI pyversions GitHub stars PyPi downloads

gh-actions codecov LGTM Code style: black

This is pytest-codeblocks, a pytest plugin for testing code blocks from README files.

Install with

pip install pytest-codeblocks

and run pytest with

pytest --codeblocks
================================= test session starts =================================
platform linux -- Python 3.9.4, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /path/to/directory
plugins: codeblocks-0.10.4
collected 56 items

example.md .......................                                              [ 50%]
README.md .......................                                               [100%]

================================= 56 passed in 0.08s ==================================

By default, pytest-codeblocks will only pick up code blocks with python syntax highlighting.

Skipping code blocks

Prefix your code block with a pytest-codeblocks:skip comment to skip

Lorem ipsum
<!--pytest-codeblocks:skip-->
```python
foo + bar  # not working
```
dolor sit amet.

Merging code blocks

Broken-up code blocks can be merged into one with the pytest-codeblocks:cont prefix

Lorem ipsum
```
a = 1
```
dolor sit amet
<!--pytest-codeblocks:cont-->
```python
# this would otherwise fail since `a` is not defined
a + 1
```

Expected output

You can also define the expected output of a code block:

This
```
print(1 + 3)
```
gives
<!--pytest-codeblocks:expected-output-->
```
4
```

Expected errors

Some code blocks are expected to give errors. You can verify this with

The following gives an error:
<!--pytest-codeblocks:expect-error-->
```python
1 / 0
```

The keyword expect-exception is also possible.

License

This software is published under the MIT license.

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-codeblocks-0.10.4.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

pytest_codeblocks-0.10.4-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file pytest-codeblocks-0.10.4.tar.gz.

File metadata

  • Download URL: pytest-codeblocks-0.10.4.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for pytest-codeblocks-0.10.4.tar.gz
Algorithm Hash digest
SHA256 c41cb51c3f0e5caab516fa0e30cfd0dad82dc92fcd17a8c11d3399492fec52c2
MD5 13d4a8604aa4a7e87aaed7e01a52c52c
BLAKE2b-256 0f753817a908a41c385a37d2005a55032ccdab94fa5dd223bf333ff1a5a7d659

See more details on using hashes here.

File details

Details for the file pytest_codeblocks-0.10.4-py3-none-any.whl.

File metadata

  • Download URL: pytest_codeblocks-0.10.4-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for pytest_codeblocks-0.10.4-py3-none-any.whl
Algorithm Hash digest
SHA256 48d144b0ff5cf99144d2b4c76e24e03c31d1ef8c8c335434986e5dc8f2dcba6a
MD5 24a65fea5e78bd070ff3434c09de1b87
BLAKE2b-256 50d9153e3664390f947520afe8d2d3c6369cd9764e55d3f29e564fc934e1ce40

See more details on using hashes here.

Supported by

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