Skip to main content

docs-from-tests

This python package contains functions to instrument your code / tests to create sequence diagrams (in markdown / mermaid) as the tests run.

The sequence diagrams show the runtime call hierachy of the code. They are saved as files in the repository, which you should check in.

You can choose to ignore specific functions, and private functions, to make diagrams readable in each context you are interested in.

The diagrams are useful documentation, and will stay up to date as they are automatically generated. Hopefully it will encourage us to have useful diagrams in the repo, with the appropriate levels of detail, which in turn will encourage us to structure the code well so it produces good diagrams, and to have tests at these levels of detail.

You can see an example of this package in use at docs-from-tests-example.

Build Status

Build status

Usage

You can see an example of instrumenting a test at tests\test_hello_world.py

This test creates the following diagram

The diagram is reproduced here for convenience. It is a mermaid diagram, you may need to install a Browser Plugin or VsCode extension or similar to view it.

View full screen as SVG

sequenceDiagram
  start->>HelloWorldCombiner.combine: calls x1
  HelloWorldCombiner.combine->>hello: calls x1
  hello-->>HelloWorldCombiner.combine: returns str
  HelloWorldCombiner.combine->>world: calls x1
  world-->>HelloWorldCombiner.combine: returns str
  HelloWorldCombiner.combine-->>start: returns str

Running tests

  • use python>=3.7
  • pip install requirements.txt
  • set pythonpath=<path to root of this repo>
  • pytest

Contributing

  • Use PEP-0008
  • Please open up an Issue for new work, where any discussion can take place, and then submit a pull request to fix the issue.

Project Champion

The champion for this a repo is Cedd Burge who is accountable for:

  • The usability of the repo, and ensuring user guides and READMEs are up to date
  • The code quality of the repo (CODEOWNERS, pull requests, tests, and builds all help here)
  • The usability of the code for other developers (retrospectives, code quality, architecture, and documentation all help here)

Metadata

Release files for docs-from-tests 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docs-from-tests 0.0.2
File Size Uploaded
docs_from_tests-0.0.2.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docs-from-tests 0.0.2
File Interpreter ABI Platform
docs_from_tests-0.0.2-py2-none-any.whl Python 2 none any Details

Total release size: 9.0 kB

Release files / docs_from_tests-0.0.2.tar.gz

Download URL docs_from_tests-0.0.2.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4e5a26c522f1a03238c52d0f884a695addb9da19e8399ec6518ec3ec9ed5ea29
BLAKE2b-256 checksum
How to use checksums
265b10499e5fa0768055e0f36438469be677fd0f90128731be0047c8584e5a2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.17

Release files / docs_from_tests-0.0.2-py2-none-any.whl

Download URL docs_from_tests-0.0.2-py2-none-any.whl
Size 5.0 kB
Tags Python 2
SHA-256 checksum
How to use checksums
36a643160f55c3a1a1d6058290ca26420c55ace4789fefde44c9802c611100c2
BLAKE2b-256 checksum
How to use checksums
b982076dd897681bdb25d4955cc2052e27f5d2a722482060c551ca52453b9c4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.17

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page