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
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.
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.txtset 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)
| File | Size | Uploaded | |
|---|---|---|---|
| docs_from_tests-0.0.2.tar.gz | 4.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|